Я пытаюсь ввести кнопку на страницу с помощью скриптов содержимого Chrome, но кнопка никогда не появляется, и я не вижу ошибки в консоли.Вводная кнопка на сайт (скрипт содержимого Chrome Extension)
Мой manifest.json
файл:
{
"name": "Test",
"version": "0.0.1",
"manifest_version": 2,
"description": "Test",
"default_locale": "en",
"permissions": [
"<all_urls>"
],
"content_scripts": [
{
"matches": [
"<all_urls>"
],
"js": [
"src/inject/inject.js"
]
}
]
}
и мой inject.js
файл:
document.addEventListener('DOMContentLoaded', function() {
var buttonOnSite = document.getElementById("buttonOnSite");
var button = document.createElement("button");
var text = document.createTextNode("test");
button.appendChild(text);
buttonOnSite.appendChild(button);
});
Что я ожидаю от приведенного выше кода, когда я иду к месту, где кнопка с идентификатором buttonOnSite
существует , после него создается новая кнопка с текстом test
.
Но ничего не происходит, когда я иду на этот сайт с помощью кнопки! Существует определенно кнопка с идентификатором buttonOnSite
(я изменил идентификатор здесь, потому что это длинный идентификатор).
В консоли не появляется сообщение об ошибке, так что что случилось? Это, наверное, что-то очевидное, но я просто не вижу этого. Любая помощь приветствуется!
Я до сих пор ничего не получаю! После 'buttonOnSite' нет элемента. Поэтому я хочу создать новую кнопку после 'buttonOnSite'. – downloader
Похоже, проблема связана с 'addEventListener'. Я добавил некоторые «console.log» в eventlistener, и никто из них не запустился. Но они бежали, когда я выставлял их вне eventlistener. Есть идеи? – downloader
Я отредактировал код, слушатель не может вызывать функцию, потому что chrome extensions по умолчанию запускает скрипты после загрузки содержимого DOM. Попробуйте сейчас, но если это не сработает, возможно, я не получу то, что вы пытаетесь сделать. Если вы хотите, вы можете связать меня с сайтом и сообщить мне, что это за кнопка, и я попробую. –