你好
我以前从未真正使用过浏览器控制台,所以我不太清楚它能做什么——我想要实现以下目标:
如何在浏览器控制台中强制或启动页面的自动刷新?也就是说,不需要每次按F5键?
另外,控制台是否支持jQuery?或者这取决于你所访问的网页是否使用了jQuery?
谢谢!
你好
我以前从未真正使用过浏览器控制台,所以我不太清楚它能做什么——我想要实现以下目标:
如何在浏览器控制台中强制或启动页面的自动刷新?也就是说,不需要每次按F5键?
另外,控制台是否支持jQuery?或者这取决于你所访问的网页是否使用了jQuery?
谢谢!
使用浏览器标签“A”打开并控制另一个浏览器标签“B”。这使您能够在标签“B”中持续自动重新加载网页,否则您将无法控制。当标签“B”重新加载时,您从标签“A”发出的重新加载命令不会被清除。
我使用此方法来刷新网站,以避免超时并注销我的帐户。此方法不需要jQuery,并且不要求您有任何对目标Web页面HTML代码的控制。
打开浏览器新标签“ A”,按F12,选择控制台。键入类似于以下内容的内容:
win1 = window.open("https://www.example.com");
timer1 = setInterval(function(){win1.location.href="https://www.example.com"},10*60*1000);
"win1" 是给新的浏览器选项卡 "B" 分配一个Javascript变量名称,以便您可以在Javascript中控制它。 "timer1" 也是为了分配一个变量名称,以方便以后进行控制。 setInterVal函数运行一个匿名函数来调用 "win1" 或选项卡 "B" 来刷新它的 "location.href",每10分钟一次。
您可能需要保持这两个选项卡处于打开状态。将它们固定起来以便轻松访问。关闭这两个选项卡以停止自动重新加载。对选项卡 "A" 进行硬刷新也可能会停止自动重新加载。您还可以使用变量 "timer1" 来取消自动重新加载。
location.reload()
如果你所在的网站已经加载了jQuery,你就可以运行jQuery命令。
如果该网站未加载jQuery,则可以使用以下书签将jQuery注入页面中:
javascript:(function(e,a,g,h,f,c,b,d){if(!(f=e.jQuery)||g>f.fn.jquery||h(f)){c=a.createElement("script");c.type="text/javascript";c.src="http://ajax.googleapis.com/ajax/libs/jquery/"+g+"/jquery.min.js";c.onload=c.onreadystatechange=function(){if(!b&&(!(d=this.readyState)||d=="loaded"||d=="complete")){h((f=e.jQuery).noConflict(1),b=1);f(c).remove()}};a.documentElement.childNodes[0].appendChild(c)}})(window,document,"1.3.2",function($,L){(function(){var d=document.createElement("div"),c=document.getElementsByTagName("body")[0],e=false,g="";d.style.position="fixed";d.style.height="32px";d.style.width="220px";d.style.marginLeft="-110px";d.style.top="0";d.style.left="50%";d.style.padding="5px 10px";d.style.zIndex=1001;d.style.fontSize="12px";d.style.color="#222";d.style.backgroundColor="#f99";if(typeof jQuery!="undefined"){g="This page already using jQuery v"+jQuery.fn.jquery;return f()}else{if(typeof $=="function"){e=true}}function a(i,k){var h=document.createElement("script");h.src=i;var j=document.getElementsByTagName("head")[0],b=false;h.onload=h.onreadystatechange=function(){if(!b&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){b=true;k();h.onload=h.onreadystatechange=null;j.removeChild(h)}};j.appendChild(h)}a("http://code.jquery.com/jquery.min.js",function(){if(typeof jQuery=="undefined"){g="Sorry, but jQuery wasn't able to load"}else{g="This page is now jQuerified with v"+jQuery.fn.jquery;if(e){g+=" and noConflict(). Use $jq(), not $()."}}return f()});function f(){d.innerHTML=g;c.appendChild(d);window.setTimeout(function(){if(typeof jQuery=="undefined"){c.removeChild(d)}else{jQuery(d).fadeOut("slow",function(){jQuery(this).remove()});if(e){$jq=jQuery.noConflict()}}},2500)}})();});
如果您想使用控制台,请在控制台中键入document.location.reload()
。但是,如果您想要自动刷新 - 它需要在您的代码中。
是的,如果您在代码中包含了jQuery库文件,控制台将接受它。
还有一件事:对于自动刷新,您需要像这样的东西
setInterval(function(){ document.location.reload() },10*60*1000);
但它不会在控制台中工作,因为在第一次刷新后,此代码将不再在控制台中。请将其放置在您的代码中。
document.location.reload()
window.location.reload()
在 @saeng 的回答中添加,如果您需要在一定时间后停止间隔。
打开控制台并编写下面提到的片段。
INTERVAL = 5 // seconds
STOP_AFTER = 15 // seconds
// Open the same link in the new tab
win1 = window.open(location.href);
// At every 5 seconds, reload the page
timer1 = setInterval(() => {
win1.location.reload();
console.log("Refreshed");
},INTERVAL*1000)
// Stop reloading after 15 seconds
setTimeout(() => clearInterval(timer1), STOP_AFTER*1000)
它将打开一个新的选项卡,以相同的链接重新加载它,在一定时间间隔后停止重新加载。
setTimeout(function () { location.reload(1); }, 5000);
<meta http-equiv="refresh" content="5; URL=http://mywebsite/mypage.aspx">
非常感谢 ann
// jquery()
来加载当前标签页中的jQuery(是的,如果未加载,您无法使用它)。 - Bergi