Слабые и простые определения, но соответствующие потребности: статически типизированные языки связывают тип с переменной во всей ее области (Seg: SCALA). Динамически типизированные языки связывают тип с фактическим значением, на которое ссылается переменная.
Использование попытки: unsafeWindow.myFunction ();
[еще 112] детали и информация - http://wiki.greasespot.net/UnsafeWindow
Один способ вызвать функцию на исходной странице похож на это:
location.href = "javascript:void(myFunction());";
Это немного ужасно. Существует также unsafeWindow, обеспеченный GreaseMonkey также, но авторы отговаривают от использования его.
unsafeWindow.myFunction();
более опрятные Взгляды, но удостоверяются, что Вы понимаете разветвления. Из руководства:
unsafeWindow обходит находящуюся в XPCNativeWrapper модель обеспечения безопасности Механика, которая существует, чтобы удостовериться, что злонамеренные веб-страницы не могут изменить объекты таким способом как для создания сценариев механика (которые выполняются с большим количеством полномочий, чем обычный JavaScript, работающий в веб-странице), делают вещи, которые не предназначали их авторы или пользователи. Пользовательские сценарии должны поэтому постараться не звонить или любым другим способом в зависимости от любых свойств на unsafeWindow - особенно если, если они выполняются для произвольных веб-страниц, таких как те с @include *, где авторы страницы, возможно, ниспровергали среду таким образом.
, Другими словами, Ваш сценарий поднимает полномочия, доступные исходному сценарию страницы при использовании unsafeWindow.
Вы могли попытаться использовать слушателей события JavaScript.
Они выполняют код на ответе, чтобы возразить появлению событий (такому как загрузка страницы)
, Например, выполнить код на загрузке страницы:
window.addEventListener('load', function ()
{
/* code goes here */
}