Используя document.head.innerHTML
, вы можете обратиться к заголовку html-страницы, что позволяет установить в нем содержимое.
Также стоит отметить, что API-интерфейс страницы может принимать multiple arguments as an array of string literals, а также возможность импорта скриптов из каталога данных.
И, наконец, вы можете установить скрипт для запуска до загрузки страницы, установив page-mod OptioncontentScriptWhen
к значению start
или ready
.
согласно документации:
«старт»: скрипты для загрузки содержимого сразу же после того, как элемент документа вставляется в DOM, но прежде, чем содержание DOM сам были загружены
«готов »: Загрузите скрипты содержимого после загрузки содержимого DOM, , соответствующего событию DOMContentLoaded
« конец »: загрузите скрипты содержимого после того, как все содержимое (DOM, JS, CSS,)изображений) были загружены, в то время события window.onload пожаров
Так что ваш пример для изменения как заголовка и тела до загрузки страницы будет похожи на ниже:
// Import the page-mod API
var pageMod = require("sdk/page-mod");
// Create a page-mod
// It will run a script whenever a ".org" URL is loaded
// The script replaces the page contents with a message
pageMod.PageMod({
include: "*.io",
contentScript: ['document.body.innerHTML = ' +
' "<h1>foo</h1>"',
'document.head.innerHTML = ' +
' "<style>h1 {color:blue;}</style>";'],
contentScriptWhen: "start"
});
Также стоит отметить, что этот сценарий может работать лучше для некоторых страниц, если contentScriptWhen
установлен в ready
, в противном случае изменения могут не распространяться на все элементы на странице.
И как я могу его освободить до загрузки страницы? –
Только что отредактировал ответ на обновление. Извини за это. – Diggzy