即使在新页面加载后,也要在浏览器控制台中保持javascript运行

时间:2015-01-09 18:38:09

标签: javascript

说我有一个我在控制台中运行的脚本:

var counter = 0;
var i = setInterval(function() {
    // perform a number of actions here
    counter++;
    if (counter == 20) {
        clearInterval(i);
        $('a#next_page')[0].click();
        counter = 0;
    }
}, 1000);

当它进入点击#next_page锚点的操作时,它会加载一个新页面,从而删除我粘贴到控制台中的脚本。有没有办法让脚本在控制台内运行,无论你导航到哪个页面?

2 个答案:

答案 0 :(得分:1)

您可以使用iFrame。 iFrame占据了网站的全宽和高度。在包含iFrame的网站上,您可以放置​​JavaScript代码。当然这仅适用于同一网站。否则,您应该使用浏览器扩展程序。

答案 1 :(得分:1)

假设这种情况:脚本在当代浏览器的JavaScript控制台中执行。当加载新页面时,该控制台没有所述JavaScript代码的请求功能(自动注入)。 如果加载的新页面中没有辅助脚本,则无法正常工作。可能的解决方法:

  1. 改为加载新内容through XHR并操纵the browser history
  2. browser extension的形式实施,找到已经支持该浏览器扩展程序或shipping the whole browser with your product
  3. 的浏览器扩展程序
  4. 拥有一个完整尺寸的<iframe> src属性被操纵
  5. 如果问题是在JS控制台的编辑框中输入的文本消失了,可能有一些设置可以防止这种情况,但这需要知道提问者正在使用哪个浏览器和哪个JavaScript控制台。