在Chrome扩展程序中使用插件

时间:2016-07-04 07:10:07

标签: javascript html google-chrome plugins google-chrome-extension

我正在制作Chrome扩展程序,并希望实现一个插件mark.js(https://markjs.io/),用于突出显示用户页面上的文字。但是,我在导入插件时遇到问题。由于html是用户的页面而我无法访问它,因此我无法使用通常的<script></script>。所以,我尝试使用JavaScript来做到这一点,但我仍然遇到错误。

我的JavaScript代码如下:

var head= document.getElementsByTagName('head')[0];
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= 'https://cdnjs.cloudflare.com/ajax/libs/mark.js/7.0.0/mark.min.js';
head.appendChild(script);

//highlight necessities
var context = document.querySelector("body");
var instance = new Mark(context);

function handleSetQuery(findWord) {
    cheese.mark(findWord);
}

function handlePrevious() {
    //insert previous thing
}

function handleNext() {
    //insert next thing
}

function handleClear() {
    instance.unmark(options);
}

chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
    if (request.action === "setquery") {
        alert("received: setquery");
        handleSetQuery(request.data);
    } else if (request.action === "previous") {
        handlePrevious();
    } else if (request.action === "next") {
        handleNext();
    } else if (request.action === "clear") {
        handleClear();
    }
});

Chrome控制台返回以下错误:

Chrome Error

任何帮助表示赞赏!解决这个问题也可以帮助我使用其他工具,比如jQuery。

1 个答案:

答案 0 :(得分:0)

我是通过内容脚本标签注入的(我之前使用错误的顺序)。