![如何让 Chrome 在启动延迟后加载某些页面?](https://linux22.com/image/1537599/%E5%A6%82%E4%BD%95%E8%AE%A9%20Chrome%20%E5%9C%A8%E5%90%AF%E5%8A%A8%E5%BB%B6%E8%BF%9F%E5%90%8E%E5%8A%A0%E8%BD%BD%E6%9F%90%E4%BA%9B%E9%A1%B5%E9%9D%A2%EF%BC%9F.png)
我每天都使用 Chrome,并将 10 个页面设置为启动页,因此每次启动 Chrome 时,它都会自动尝试加载这 10 个页面。这当然是一个缓慢的过程,我并不总是希望加载这些页面,有时我只希望在启动时打开一个新选项卡。
为了两全其美,我想在启动时延迟加载每个页面。我该怎么做?
答案1
我尝试寻找 Chrome 扩展程序来执行此操作,但找不到。然后我突然想到我可以使用存储在本地硬盘上的简单 HTML 页面,并在可配置的延迟后使用 javascript 进行重定向。
因此,我的启动页面不应设置为:
https://www.farnamstreetblog.com/blog/
http://hackaday.com/blog
我现在将它们设置为这样,并且可以轻松控制每个页面的加载时间,而根本不需要扩展,实际上这当然适用于任何浏览器,而不仅仅是 Chrome。
只需编辑下面的 URL,并将页面保存为硬盘上的 html 页面,然后双击打开它。然后将地址栏中的链接设为起始页,就大功告成了!
启动时打开页面.html
<html>
<head>
<title>Open Pages</title>
<style>
* {
font-family:arial;
}
body {background-color: #FFFFF0;}
</style>
<script>
// CHANGE THE FOLLOWING AS YOU SEE FIT
// Currently waits 5 seconds before starting to open pages
var numSecondsBetweenPageOpens = 5;
var urls = [
{url:'https://live.givedirectly.org/'},
{url:'https://www.damninteresting.com/'}
];
var initialDelay = 0;
var elapsedTime = 0;
var currDelay = 1;
var enabled = true;
var firstTime = true;
function getOutput(value)
{
return document.getElementById("output").innerHTML;
}
function setOutput(value)
{
document.getElementById("output").innerHTML = value;
}
function out(msg)
{
var html = getOutput();
setOutput(msg + '<br/>' + html);
}
function stopIt()
{
enabled = ! enabled;
if (! enabled)
{
out("<h3>Stopped!</h3>");
}
else
{
main();
out("<h3>Started!</h3>");
}
}
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
function nvl(value,defaultValue)
{
if (value == null)
return defaultValue;
if (value == "")
return defaultValue;
if (value)
return value;
return defaultValue;
}
var url = getParameterByName('url');
var showInfoDelay = nvl(parseInt(getParameterByName('showInfoDelay')), 1) * 1000;
document.title=url;
setInterval(function()
{
if (! enabled)
return;
out(elapsedTime);
elapsedTime++;
}, 1000);
function doIt(item)
{
currDelay = currDelay + numSecondsBetweenPageOpens;
var seconds = nvl(parseInt(currDelay+initialDelay));
out('Opening <a href="' + item.url + '">' + item.url + '</a> in ' + seconds + ' seconds.');
setTimeout(function()
{
if (! enabled)
return;
out('Opening ' + item.url);
window.open(item.url);
}, seconds * 1000);
}
function main()
{
setTimeout(function()
{
setOutput('');
for (var i=0; i < urls.length; i++)
{
var item = urls[i];
doIt(item);
}
}, showInfoDelay);
}
</script>
</head>
<body>
<p>Will start to open pages soon.</p>
<p> <a href="javascript:stopIt()">Click to stop opening pages</a> </p>
<div id="output">...<br/></div>
<script>
main();
</script>
</body>
</html>