Capture text selection in Google Docs

前端 未结 3 1547
谎友^
谎友^ 2021-01-07 22:28

I\'m writing a Chrome extension that captures the user text selection and sends the selected text to Google search.

manifest.json

{
         


        
3条回答
  •  暗喜
    暗喜 (楼主)
    2021-01-07 23:11

    Thanks to Mr. Java Wolf answer.

    I created a fork of his project, and then rewrite his project completely to adopt it for my own needs. Core concepts were keeped, but now it is easier to use because it supports both IIFE and CJS.

    So, here is google-docs-utils package:

    • GitHub - https://github.com/Amaimersion/google-docs-utils
    • NPM - https://www.npmjs.com/package/google-docs-utils

    You can use it with Node.js or directly in browser:

    • Node.js: npm install google-docs-utils
    • Browser: https://unpkg.com/google-docs-utils@latest/dist/iife/index.js

    Here is the code which solves your task using google-docs-utils package:

    const linesData = GoogleDocsUtils.getSelection();
    let selectionData = null;
    
    for (const lineData of linesData) {
        if (lineData) {
            selectionData = lineData;
    
            // we handle only single selection
            break;
        }
    }
    
    if (selectionData) {
        console.log(selectionData.selectedText);
    }
    

提交回复
热议问题