Bookmarklet: Anexar escondido iframe à página e url carga
-
10-07-2019 - |
Pergunta
Eu tenho um bookmarklet para redefinir meu roteador. Eu só preciso de visita e deixar o carregamento da página de chegada, então o meu router começa a redefinir.
javascript:(function(){w=window.open("http://192.168.0.1/goform/formReboot","","width=1,height=1");self.focus();window.onload=w.close();})();
Mas ele abre em uma janela pop-up.
A minha nova idéia é acrescentar dinamicamente um iframe oculto para a página que eu estou no usando um bookmaklet javascript, e, em seguida, abrir a url no iframe oculto. Isto é mesmo possível?
Estou aberto para melhor sugestão sobre como isso pode ser feito.
Solução
Uma forma ainda mais fácil seria criar um novo elemento IMG:
(function(){
(new Image()).src = "http://192.168.0.1/goform/formReboot";
})();
Como um bookmarklet:
javascript:void((function(){(new Image()).src = "http://192.168.0.1/goform/formReboot";})());
Ou, se isso não funcionar, aqui está o criador 'iframe' você solicitou:
(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);
})();
Outras dicas
Pode ser feito? Claro!
- Criar um elemento iframe, com quaisquer parâmetros necessários
- Adicione-lo como o último filho para o corpo elemento
- Feito!
Aqui está um exemplo (tudo iria em uma linha):
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));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow