Domanda

Ho un bookmarklet per ripristinare il mio router. Devo solo visitare e lasciare che la pagina finisca il caricamento, quindi il mio router inizia il ripristino

javascript:(function(){w=window.open("http://192.168.0.1/goform/formReboot","","width=1,height=1");self.focus();window.onload=w.close();})();

Ma si apre in una finestra popup.

La mia nuova idea è di aggiungere dinamicamente un iframe nascosto alla pagina su cui sto utilizzando un bookmaklet javascript, quindi aprire l'URL nell'iframe nascosto. È anche possibile?

Sono aperto per un suggerimento migliore su come farlo.

È stato utile?

Soluzione

Un modo ancora più semplice sarebbe quello di creare un nuovo elemento IMG:

(function(){
    (new Image()).src = "http://192.168.0.1/goform/formReboot";
})();

Come bookmarklet:

javascript:void((function(){(new Image()).src = "http://192.168.0.1/goform/formReboot";})());

Oppure, se non funziona, ecco il creatore 'iframe' che hai richiesto:

(function(){
    var i = document.createElement('iframe');
    i.style.display = 'none';
    i.onload = function() { i.parentNode.removeChild(i); };
    i.src = 'http://192.168.0.1/goform/formReboot';
    document.body.appendChild(i);
})();

Altri suggerimenti

Può essere fatto? Certo!

  1. Crea un elemento iframe, con qualunque parametro necessario
  2. Aggiungilo come l'ultimo figlio del corpo elemento
  3. Fatto!

Ecco un esempio (tutto andrebbe su una riga):

javascript:var%20ifra=document.createElement('iframe');
ifra.src="http://www.chron.com";
ifra.setAttribute("height","230");
ifra.setAttribute("width","360");
void(document.body.appendChild(ifra));
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top