特定页面集的Javascript页面加载延迟

特定页面集的Javascript页面加载延迟,javascript,greasemonkey,Javascript,Greasemonkey,我想用一个小的greasemonkey脚本延迟一组特定的网页。基本上,如果正在加载的网站是一组页面的一部分,那么我希望延迟页面加载所需的时间。e、 g.如果正在加载的页面是http://www.a.com/,http://www.a.com/b,等等。然后我想将加载延迟30秒。假设Dushara的评论是正确的: 看看海报想要什么。将鼠标悬停在图像上以查看推理。事实上,我在谷歌搜索完全相同的东西时发现了这个问题 那么这在Greasemonkey中是不可能的。原因是,除了缓慢的图片或AJAX调用之外

我想用一个小的greasemonkey脚本延迟一组特定的网页。基本上,如果正在加载的网站是一组页面的一部分,那么我希望延迟页面加载所需的时间。e、 g.如果正在加载的页面是http://www.a.com/,http://www.a.com/b,等等。然后我想将加载延迟30秒。

假设Dushara的评论是正确的:

看看海报想要什么。将鼠标悬停在图像上以查看推理。事实上,我在谷歌搜索完全相同的东西时发现了这个问题

那么这在Greasemonkey中是不可能的。原因是,除了缓慢的图片或AJAX调用之外,GM在页面加载后激发。所以用户会看到页面,然后它会,比如说,空白闪烁30秒。。。但是,只有快速的眼球才能看到太多

更新:这在Greasemonkey中现在是可能的,带有@run at document start指令-于2011年8月添加。看

请注意,XKCD的创建者使用良好的、老式的意志力来实现他简单的30秒延迟。发件人:

很多人问我今天漫画的alt文本中我用来实现限制的系统。 ... 我制定了一个规则,一旦我完成了任何任务,或者对它感到厌烦,我就必须关掉电脑


另请参见:-现在有链接到人们为此创建的适当扩展。

假设杜萨拉的评论是正确的:

看看海报想要什么。将鼠标悬停在图像上以查看推理。事实上,我在谷歌搜索完全相同的东西时发现了这个问题

那么这在Greasemonkey中是不可能的。原因是,除了缓慢的图片或AJAX调用之外,GM在页面加载后激发。所以用户会看到页面,然后它会,比如说,空白闪烁30秒。。。但是,只有快速的眼球才能看到太多

更新:这在Greasemonkey中现在是可能的,带有@run at document start指令-于2011年8月添加。看

请注意,XKCD的创建者使用良好的、老式的意志力来实现他简单的30秒延迟。发件人:

很多人问我今天漫画的alt文本中我用来实现限制的系统。 ... 我制定了一个规则,一旦我完成了任何任务,或者对它感到厌烦,我就必须关掉电脑


另请参见:-它现在有链接到人们为此创建的适当扩展。

如果您的推理是,在greasemonkey将其视为已加载之前,您需要一些时间来加载某些元素,您总是可以设置一个eventlistener,当您单击它而不是加载它时,它会启动您的函数。然后,当您准备启动函数时,您只需单击页面上的某个位置即可。addEventListenerclick,函数,false


如果您只是想寻找一种方法,使页面在设定的时间后自动加载,那么使用iMacro会有更好的运气。

如果您的理由是,在greasemonkey看到加载之前,您需要一些时间加载某些元素,您总是可以设置一个eventlistener,当您单击它而不是加载它时,它会启动您的函数。然后,当您准备启动函数时,您只需单击页面上的某个位置即可。addEventListenerclick,函数,false


如果您只是想找到一种方法,使页面在设定的时间后自动加载,那么使用iMacro的运气会好得多。

存在使用套印的Greasemonkey脚本: 在一个网站上工作

我试图修改这个,并提出了一些非常粗略的方法,可以处理多个网站的列表:。我不再使用这个插件,因为脚本在某些网站上有奇怪的副作用,可能会影响性能。我相信其他人可以做得更好,但如果你想自己尝试或尝试修改它,它就在那里


对于任何不熟悉Greasemonkey的人来说,它是一个Firefox插件,允许你用javascript的小片段修改网站,你可以自己编写或从库中安装。要使用这两个脚本中的任何一个,您当然需要安装Greasemonkey附加组件https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/ 由于缺少代表而未链接-任何具有编辑权限的人都可以随意链接。

存在使用覆盖的Greasemonkey脚本: 在一个网站上工作

我试图修改这个,并提出了一些非常粗略的方法,可以处理多个网站的列表:。我不再使用这个插件,因为脚本在某些网站上有奇怪的副作用,可能会影响性能。我相信其他人可以做得更好,但如果你想自己尝试或尝试修改它,它就在那里

对于任何不熟悉Greasemonkey的人来说,它是一个Firefox附加组件
允许您使用javascript小片段修改网站,您可以自己编写或从库中安装。要使用这两个脚本中的任何一个,您当然需要安装Greasemonkey附加组件https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/ 由于缺少代表而未链接-任何具有编辑权限的人都可以随意链接。

如前所述,GreaseMonkey脚本是在DOMContentLoaded上执行的,因此在页面加载后

但是,事实上,你可以在一定的时间内创建一个覆盖,它也会有同样的效果

这里有一个由@Jonathan链接的userscripts的改进版本,事实上,这是我自己独立编写的

作用 { var超时=30; var timeappeased=超时; 函数隐藏 { document.documentElement.style.overflow=隐藏; var newdiv=document.createElement'div'; newdiv.id=leechblocker; newdiv.style.width=100%; newdiv.style.minHeight=100%; newdiv.style.position=固定; newdiv.style.top=0px; newdiv.style.left=0px; newdiv.style.zIndex=10000; newdiv.style.backgroundColor=白色; newdiv.style.display=块; newdiv.style.overflow=隐藏; newdiv.style.textAlign=中心; newdiv.style.paddingTop=window.innerHeight/2-10+px; newdiv.innerHTML=Wait+timeappeased+seconds。。。; document.body.appendChildnewdiv; } 函数更新计数器 { var counter=document.getElementByIdcounter; 时间流逝-; counter.innerHTML=时间流逝; } 函数取消隐藏 { document.documentElement.style.overflow=自动; var leechDiv=document.getElementByIdleechblocker; leechDiv.parentNode.removechildlechdiv; } 隐藏 设置IntervalueUpdateCounter,1000; window.setTimeoutunhide,超时*1000; };
如上所述,GreaseMonkey脚本是在DOMContentLoaded上执行的,因此在页面加载之后

但是,事实上,你可以在一定的时间内创建一个覆盖,它也会有同样的效果

这里有一个由@Jonathan链接的userscripts的改进版本,事实上,这是我自己独立编写的

作用 { var超时=30; var timeappeased=超时; 函数隐藏 { document.documentElement.style.overflow=隐藏; var newdiv=document.createElement'div'; newdiv.id=leechblocker; newdiv.style.width=100%; newdiv.style.minHeight=100%; newdiv.style.position=固定; newdiv.style.top=0px; newdiv.style.left=0px; newdiv.style.zIndex=10000; newdiv.style.backgroundColor=白色; newdiv.style.display=块; newdiv.style.overflow=隐藏; newdiv.style.textAlign=中心; newdiv.style.paddingTop=window.innerHeight/2-10+px; newdiv.innerHTML=Wait+timeappeased+seconds。。。; document.body.appendChildnewdiv; } 函数更新计数器 { var counter=document.getElementByIdcounter; 时间流逝-; counter.innerHTML=时间流逝; } 函数取消隐藏 { document.documentElement.style.overflow=自动; var leechDiv=document.getElementByIdleechblocker; leechDiv.parentNode.removechildlechdiv; } 隐藏 设置IntervalueUpdateCounter,1000; window.setTimeoutunhide,超时*1000; };
你能进一步解释一下吗?你想让你的页面用30秒加载?为什么?问题不清楚。你说延迟装货是什么意思?延迟加载的开始,只是多消耗30秒的浏览器周期,或者什么?布罗克·亚当斯:这么晚你希望完成什么。看看海报想要什么。将鼠标悬停在图像上以查看推理。事实上,我在谷歌搜索完全相同的东西时发现了这个问题。@Dushara,似乎是有道理的。很遗憾你不是OP,我会投票给你。不管怎样,请看下面我的答案。你能进一步解释一下吗?你想让你的页面用30秒加载?为什么?问题不清楚。你说延迟装货是什么意思?延迟加载的开始,只是多消耗30秒的浏览器周期,或者什么?布罗克·亚当斯:这么晚你希望完成什么。看看海报想要什么。将鼠标悬停在图像上以查看推理。事实上,我在谷歌搜索完全相同的东西时发现了这个问题。@Dushara,似乎是有道理的。很遗憾你不是OP,我会投票给你。无论如何,请看下面我的答案。在overlay.style.position='absolute'中将绝对更改为固定;和叠加中的高度。style.height=。。。至最小高度=100%加上添加document.documentElement.style.overflow=隐藏;防止鼠标中键滚动;在overlay.style.position='absolute'中将绝对更改为固定;和叠加中的高度。style.height=。。。至最小高度=100%加上添加document.documentElement.style.overflow=隐藏;防止鼠标中键滚动;