Подскажите способ запустить скрипт один раз, но чтоб работал на всей территории сайта. Пишу руссификатор+улучшение подачи информации - доступ нужен ко всему что на экране в окне.
Если использовать
@noframes или
@exclude, то он просто перестаёт видеть эти фреймы и соотвтетсвенно ничего в них не меняет выдавая в консоль:
Uncaught TypeError: Cannot read property 'frames' of undefined
Найденные способы в интернете:
if (window.top != window.self) //don't run on frames or iframes
{
//Optional: GM_log ('In frame');
return;
}
и
window.addEventListener ("load", LocalMain, false);
function LocalMain ()
{
// Your code goes here.
}
ничего не останавливают, скрипт прогружается 8 раз, потом как происходило всё 8 раз так и происходит - даже забиндить кнопку нельзя по нормальному - вешается 8 лиссенеров и все выполняются при нажатии. Не знаю как объяснить - может каждое окошко мнит себя главным и отсылает событие load как главное, а tampermonkey ведётся на это.
Есть ли ещё способы?