javascript - tab - Abrir una URL en la pestaña/ventana actual desde una extensión de Firefox
permitir ventanas emergentes firefox (4)
Llame a estas funciones JS en su comando
//open a url current window:
function openUrl(url) {
content.wrappedJSObject.location = url;
newTabBrowser = gBrowser.selectedBrowser;
newTabBrowser.addEventListener("load", highlight, true);
}
//new tab
function openUrlNewTab(url) {
var win = Components.classes[''@mozilla.org/appshell/window-mediator;1'']
.getService(Components.interfaces.nsIWindowMediator)
.getMostRecentWindow(''navigator:browser'');
win.gBrowser.selectedTab = win.gBrowser.addTab(url);
}
Estoy creando una extensión de Firefox ... ¿cuál sería el javascript para abrir una URL en la pestaña actual desde un elemento de menú?
por ejemplo, en mi archivo overlay.xul tengo la siguiente línea:
<menuitem label="Visit homepage" oncommand="window.location=''http://www.somepage.com''"/>
pero en Firefox, cuando hago clic en el elemento del menú, abre la URL pero arruina todo el diseño del navegador.
¿Cuál es la forma correcta de hacer esto?
<menuitem label="Visit Report Site" oncommand="var win = Components.classes[''@mozilla.org/appshell/window-mediator;1'']
.getService(Components.interfaces.nsIWindowMediator)
.getMostRecentWindow(''navigator:browser''); win.openUILinkIn(''http://www.google.com'', ''tab'');"/>
Abrir URL en una nueva pestaña.
Desde un elemento de menú, puede usar openUILinkIn . Funciona como:
openUILinkIn(url, where);
donde puede ser: pestaña, actual, ventana (y algunas otras opciones que rara vez se usan)
Si desea comportarse de manera diferente en función de los modificadores de teclado que está presionando un usuario, puede usar otra función donde ToOpenLink , que devuelve tab / actual / window en función de las preferencias y modificadores de los usuarios.
openUILinkIn(url, whereToOpenLink(event));
Por lo tanto uso:
<menuitem label="Visit homepage"
oncommand="openUILinkIn(''http://example.com/'', whereToOpenLink(event))"/>
Si no está en el contexto de un elemento de menú, es posible que desee comprobar otro XBL incorporado que agrega enlaces y la apertura de HREF para una etiqueta:
<label value="google" class="text-link" href="http://google.com/" />
Después de navegar, descubrí que tenía que reemplazar el código anterior por este:
<menuitem label="Visit homepage" oncommand="content.wrappedJSObject.location=''http://www.somepage.com''"/>