Один из способов вызова функции на исходной странице выглядит следующим образом:
location.href = "javascript:void(myFunction());";
Это немного некрасиво. Существует также unsafeWindow , предоставляемое GreaseMonkey, но авторы советуют не использовать его.
unsafeWindow.myFunction();
Выглядит аккуратнее, но убедитесь, что вы понимаете последствия. Из руководства:
unsafeWindow обходит Greasemonkey's
Модель безопасности на основе XPCNativeWrapper,
который существует, чтобы убедиться, что
вредоносные веб-страницы не могут изменить
объекты таким образом, чтобы сделать
скрипты greasemonkey (которые выполняют
с большими привилегиями, чем обычные
Javascript работает на веб-странице) сделать
вещи, которые сделали их авторы или пользователи
не намерены. Пользовательские скрипты должны
поэтому избегайте звонить или в любом
другой способ в зависимости от любых свойств
на unsafeWindow - особенно если они
выполняются для произвольных веб-страниц,
например, с @include *, где
Авторы страницы, возможно, подорвали
окружающая среда таким образом.
Другими словами, ваш скрипт повышает привилегии, доступные для оригинального скрипта страницы, если вы используете unsafeWindow.