假设我有一个在控制台中运行的脚本:
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 代码的此类请求功能(自动注入)。
如果加载的新页面中没有辅助脚本,则不起作用。可能的解决方法:
- 加载新内容通过XHR https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest相反并操纵浏览器历史记录 https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history#Adding_and_modifying_history_entries
- 实施为浏览器扩展 https://developer.chrome.com/extensions,找到一个已经支持该功能的浏览器扩展,或者随您的产品一起提供整个浏览器 http://qt-project.org/doc/qt-4.8/qtwebkit-bridge.html#thin-clients
- 拥有一个全尺寸的
<iframe>
whose src
属性被操纵
如果问题是在 JS 控制台编辑框中输入的文本消失了,可能有一些设置可以防止这种情况发生,但这需要知道提问者正在使用哪个浏览器和哪个 JavaScript 控制台。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)