保持 JavaScript 在浏览器控制台中运行,即使在新的页面加载之后也是如此

Keep javascript running in browser console, even after new pageload

本文关键字:加载 之后 控制台 浏览器 JavaScript 运行 保持      更新时间:2023-09-26

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

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锚的操作时,它会加载一个新页面,从而删除我粘贴到控制台中的脚本。有没有办法让脚本在控制台内运行,不管你导航到什么页面?

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

  1. 改为通过 XHR 加载新内容并操作浏览器历史记录
  2. 作为浏览器扩展
  3. 实现,查找已经支持的浏览器扩展或随产品一起提供整个浏览器
  4. 具有全尺寸<iframe>,其src属性作

如果问题是在JS控制台的编辑框中输入的文本消失了,则可能有一些设置可以防止这种情况,但这需要知道提问者正在使用哪个浏览器和哪个JavaScript控制台。

您可以使用

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