9

我有一个用于重置路由器的书签。我只需要访问并让页面完成加载,然后我的路由器开始重置。

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

但它会在弹出窗口中打开。

我的新想法是使用 javascript bookmaklet 将隐藏的 iframe 动态附加到我正在使用的页面,然后在隐藏的 iframe 中打开 url。这甚至可能吗?

我愿意就如何做到这一点提出更好的建议。

4

2 回答 2

33

更简单的方法是创建一个新的 IMG 元素:

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

作为书签:

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

或者,如果这不起作用,这是您要求的“iframe”创建者:

(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);
})();
于 2009-03-11T18:21:54.087 回答
3

可以做到吗?当然!

  1. 使用所需的任何参数创建一个 iframe 元素
  2. 将其作为最后一个子元素添加到 body 元素
  3. 完毕!

这是一个示例(所有内容都将在一行中进行):

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));
于 2009-03-11T18:33:26.290 回答