Я делаю расширение Chrome и хочу реализовать плагин mark.js (https://markjs.io/), который выделит текст на странице пользователя. Однако у меня возникли проблемы с импортом плагина. Поскольку html является страницей пользователя, и у меня нет доступа к ней, я не могу использовать обычный <script></script>
. Итак, я пытался использовать JavaScript для этого, но все равно получаю сообщение об ошибке.Использование плагинов в расширении Chrome
Мой 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 возвращает следующее сообщение об ошибке:
Любая помощь приветствуется! Решение этой проблемы также поможет мне использовать другие инструменты, такие как jQuery.
Чтобы вставить скрипты на страницы, соответствующие определенному шаблону, прочитайте следующий учебник: https://developer.chrome.com/extensions/content_scripts#registration – dude
Возможный дубликат [Создание расширения Chrome - ввод кода на странице используя скрипт Content] (http://stackoverflow.com/questions/9515704/building-a-chrome-extension-inject-code-in-a-page-using-a-content-script) –
Я пробовал эти решения, но не смог заставить их работать. Не могли бы вы сказать мне, что делать? –