Показать сообщение отдельно
  #1 (permalink)  
Старый 25.06.2014, 09:52
Аспирант
Отправить личное сообщение для VitAl2013 Посмотреть профиль Найти все сообщения от VitAl2013
 
Регистрация: 27.05.2011
Сообщений: 67

Tampermonkey и frames, запуск скрипта одн раз
Подскажите способ запустить скрипт один раз, но чтоб работал на всей территории сайта. Пишу руссификатор+улучшение подачи информации - доступ нужен ко всему что на экране в окне.
Если использовать @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 ведётся на это.

Есть ли ещё способы?
Ответить с цитированием