Как редактировать свойство в `window` из аддона Firefox? - PullRequest
0 голосов
/ 01 мая 2011

Я хочу создать аддон, который изменяет одно значение на window.

. Возьмем, к примеру, простое окно:

<html>
    <head>
        <title></title>
        <script>
            window.hello = 1;
        </script>
    </head>

    <body>

    </body>
</html>

Использование

gBrowser.addEventListener("DOMContentLoaded",
    function (e)
    {
        e.originalTarget.defaultView.hello = 2;
    }, false);

не изменяет значение window.hello.Значение e.originalTarget.defaultView != window.

Как я могу получить доступ к чистому window?

1 Ответ

2 голосов
/ 01 мая 2011

e.originalTarget относится к элементу документа этой страницы.Чтобы получить доступ к элементу окна страницы, вы используете e.target.defaultView.Однако, чтобы не выходить за пределы протоколов безопасности Mozilla, вы должны получить доступ к объекту window через его свойство wrappedJSObject.В целом, вы бы изменили переменную как:

e.target.defaultView.wrappedJSObject.hello = 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...