Является ли следующее возможным:изменить глобальную область видимости функции в JavaScript
var someObject = {someProperty : "someValue"};
var someFunction = function() {
someProperty = "anotherValue";
};
// what do I do here, in order to use
// someFunction to change someObject,
// without altering either of those things?
// directly accessing "someObject" in someFunction
// is not an option. e.g., none of this:
/*
var someFunction = function() {
someObject.someProperty = "anotherValue";
};
*/
if(someObject.someProperty=="anotherValue") alert("Hooray!");
?
Если нет в стандартном JavaScript, возможно ли это в JavaScript Mozilla для расширения Firefox?
Спасибо.
Я вижу, что вы упоминали GreaseMonkey в некоторых комментариях. Обратите внимание, что сценарии GreaseMonkey работают в изолированной среде с различным поведением, чем запуск скрипта прямо в браузере. http://wiki.greasespot.net/Greasemonkey_Manual:Environment http://wiki.greasespot.net/Global_object – z5h
Я не пишу этот код для Greasemonkey. Я написал, что работает под расширением Firefox. Также я хорошо знаю о песочной природе GM, и именно поэтому я пытаюсь воспроизвести ее здесь. –