有没有办法让 Mac OS X 上的 Safari 4 每 N 分钟在每个选项卡上重新加载一次网页?
答案1
只需使用书签小工具(可以添加到书签中的 JavaScript 代码块)。这是我很久以前发现的一个,它对我很有用:
javascript:(function(p){open('','',p).document.write('%3Cbody%20id=1%3E%3Cnobr%20id=2%3E%3C/nobr%3E%3Chr%3E%3Cnobr%20id=3%3E%3C/nobr%3E%3Chr%3E%3Ca%20href=%22#%22onclick=%22return!(c=t)%22%3EForce%3C/a%3E%3Cscript%3Efunction%20i(n){return%20d.getElementById(n)}function%20z(){c+=0.2;if(c%3E=t){c=0;e.location=u;r++}x()}function%20x(){s=t-Math.floor(c);m=Math.floor(s/60);s-=m*60;i(1).style.backgroundColor=(r==0||c/t%3E2/3?%22fcc%22:c/t%3C1/3?%22cfc%22:%22ffc%22);i(2).innerHTML=%22Reloads:%20%22+r;i(3).innerHTML=%22Time:%20%22+m+%22:%22+(s%3C10?%220%22+s:s)}c=r=0;d=document;e=opener.top;u=prompt(%22URL%22,e.location.href);t=u?prompt(%22Seconds%22,60):0;setInterval(%22z()%22,200);if(!t){window.close()}%3C/script%3E%3C/body%3E')})('status=0,scrollbars=0,width=100,height=115,left=1,top=1')
这是此书签的编辑版本,它删除了 URL 提示并仅使用当前选项卡的 URL:
javascript:(function(p){open('','',p).document.write('%3Cbody%20id=1%3E%3Cnobr%20id=2%3E%3C/nobr%3E%3Chr%3E%3Cnobr%20id=3%3E%3C/nobr%3E%3Chr%3E%3Ca%20href=%22#%22onclick=%22return!(c=t)%22%3EForce%3C/a%3E%3Cscript%3Efunction%20i(n){return%20d.getElementById(n)}function%20z(){c+=0.2;if(c%3E=t){c=0;e.location=u;r++}x()}function%20x(){s=t-Math.floor(c);m=Math.floor(s/60);s-=m*60;i(1).style.backgroundColor=(r==0||c/t%3E2/3?%22fcc%22:c/t%3C1/3?%22cfc%22:%22ffc%22);i(2).innerHTML=%22Reloads:%20%22+r;i(3).innerHTML=%22Time:%20%22+m+%22:%22+(s%3C10?%220%22+s:s)}c=r=0;d=document;e=opener.top;u=e.location.href;t=u?prompt(%22Seconds%22,60):0;setInterval(%22z()%22,200);if(!t){window.close()}%3C/script%3E%3C/body%3E')})('status=0,scrollbars=0,width=100,height=115,left=1,top=1')
答案2
这个可配置的 AppleScript 通过 Safari 监视一个或多个网页,以指定的时间间隔重新加载它们并通过口头和会话日志文件报告它检测到的任何更改。
开发人员解释道:“我编写此脚本是为了在我弟弟生下第一个孩子并开始发布照片后监视他们的主页。我记得 Internet Explorer 经典版中有一个页面监控功能,因此决定 Safari 也需要类似的功能。”
该链接最近似乎不起作用...
有一个在线替代方案(除非您想再次编写插件)。
答案3
您可以使用 AppleScript 来执行此操作。以下是如何每 5 秒重新加载每个打开的选项卡:
tell application "Safari"
repeat
repeat with aTab in (every tab of every window)
set URL of aTab to (URL of aTab)
end repeat
delay 5
end repeat
end tell
您可以在repeat with aTab
块内进行一些过滤以仅刷新某些选项卡(基于 URL、标题等)。
答案4
如果您在此期间升级到了 Safari 5,Apple 会添加浏览器扩展。我制作了一个完全符合您要求的扩展。
您可以在这里查看: 自动刷新
使用“自动刷新”将 Safari 设置为自动重新加载。非常适合 Web 开发和监控在线拍卖、公告和新闻。