【fun】自制chrome疯狂刷新器

        chrome中有很多关于自动刷新的扩展,比如说像“页面自动刷新”和“AutoReloader”之类的可以定时定次刷新,有些智能刷新器还可以在页面发生变化的时候自动刷新。不过反正我是没有找到一款可以起到相当于按下F5键不放手的功能的疯狂刷新器。那些设定时间之类的往往要求刷新间隔为1s的正整数倍。这么慢的刷新速度怎么去刷访?于是我就以chrome已经有的扩展“页面自动刷新”为基础,修改了一款自动疯狂刷新器。在刷某条微博或者某个人人照片访问上很有成效的。

接下来就是非常简单的制作步骤:


        首先,当然是要Chrome网上应用商店去下载并安装“页面自动刷新”这款应用。我们可以看到,这款应用就已经设置刷新间隔为5s~30min的自动刷新了。

        接下来,找到这个应用安装的位置。我的操作系统是win7专业版,位置在:“C:\Users\(用户名)\AppData\Local\Google\Chrome\User Data\Profile 1\Extensions\edbmfligbmlgmfbbhoamolndhjffanka\1.0.0_0”每个人的位置应该都不太一样,所以可以耐心地找一下。

        然后,看到一个叫“background.js”的javascript代码文档,打开,找到如下语句:

function refreshStart(tabID, interval){
	var task = customTabs[tabID];
	if (task && task.interval != interval){
		// update task;
		clearInterval(task.handle);
		task.stat = 'run';
		task.elapsed = 0;
		if (interval != undefined) {
			task.interval = interval;
		}
		task.handle = setInterval(function(){
			if (task.interval <= task.elapsed) {
				chrome.tabs.update(task.id, {
					url: task.url,
					selected: false
				}, function(){
					task.elapsed = 0
				});
			} else {
				task.elapsed++;
			}
		},1000);
		customTabs[tabID] = task;
		updateIcon(tabID);
		//chrome.pageAction.setIcon({tabId: parseInt(tabID), path: iconSet.run});
	}
}
        这个函数就是控制自动刷新的时间间隔的函数。可以看到,该函数使用了setInterval来制作定时的循环,即语句:

task.handle = setInterval(function(){
	if (task.interval <= task.elapsed) {
		chrome.tabs.update(task.id, {
			url: task.url,
			selected: false
		}, function(){
			task.elapsed = 0
		});
	} else {
		task.elapsed++;
	}
},1000);
        以1000ms为周期执行其中定义的那个function,而那个 function使用变量task.elspsed来标记是否到了设定的那个秒数。

        知道了代码是怎么写的了,然后就好办了。先把1000改成1,这样周期从1000ms变为了1ms就可以快好多了。实际测试发现修改之后限制刷新频率的主要因素成为了CPU速度,于是再删掉一些没有用的但进入循环的语句,刷新频率还可以提高几倍。

        最后,测试时刷的是人人网照片的访问量,使用Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz 4核处理器,在刷的同时还在看课件、水人人的情况下,一个小时访问量刷新增加179359的访问量。





P.S.    弱弱的说...我真的不会js...以前也完全没有接触过chrome扩展开发什么的...于是求轻拍...求大神指点...%>_<%




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值