mozrepl: переходить в контекст окна браузера при входе в новое открытое окно

Моя проблема в том, что я не могу подняться в контекст окна браузера после создания и входа в новое окно с помощью mozrepl, как это сделать?

ubugnu@spin-foam:~$ telnet localhost 4242 | tee -a .repl_log
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Welcome to MozRepl.

 - If you get stuck at the "...>" prompt, enter a semicolon (;) at the beginning of the line to force evaluation.
 - If you get errors after every character you type, see http://github.com/bard/mozrepl/wikis/troubleshooting (short version: stop using Microsoft telnet, use netcat or putty instead)

Current working context: chrome://browser/content/browser.xul
Current input mode: syntax

repl> repl.print(document.getElementById('toolbar-menubar'))
[object XULElement]
repl> win = open()
[object Window] - {window: {...}, document: {...}, external: {...}, getInterface: function() {...}, console: {...}, sidebar: {...}, performance: {...}, ...}
repl> repl.enter(win)
[object Window] - {window: {...}, document: {...}, InstallTrigger: {...}, external: {...}, webkitNotifications: {...}, getInterface: function() {...}, console: {...}, ...}
repl> repl.print(document.getElementById('toolbar-menubar'))

repl> repl.print("how to ascend to the browser window context?")
how to ascend to the browser window context?
repl> ?

1 ответ

Решение

Я вообще не знаком с мозреплом. Но из того, что я вижу в вашем коде, возможно, вы могли бы попробовать win.opener чтобы получить доступ к открывателю текущего окна, в котором вы находитесь.

repl.enter(win.opener);

В качестве альтернативы вы можете попытаться получить доступ к самому последнему окну типа "навигатор: браузер", если вы можете получить доступ к компонентам (Cc,Ci,Cu):

var window=Cc["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator).getMostRecentWindow("navigator:browser");
Другие вопросы по тегам