(function(){for(var c=location.host,a="",b=0;b<c.length;b++)a+=c[b].charCodeAt(0);if("119119119461161011151164699111109"!=a)throw new URIError("u968fu4fbfu5199u70b9u5565u54c7u3002u3002");})();
(function() { var chars = '119119119461161011151164699111109'; var hosts = location.host; var s = ''; for(var i=0;i<hosts.length;i++) { s += hosts[i].charCodeAt(0); } if(s != chars) { throw new URIError('随便写点啥哇。。'); } })();
var chars = '119119119461161011151164699111109'; 这段就是 www.test.com 其实就是将每个字符转换成了Unicode 编码,再通过location.host得到当前host,然后也做同样的转换,再判断是否相等。最后通过 抛异常使文件不被继续执行。其他方式就是通过location.href 将当前页面跳转。
发布评论
评论(1)
(function(){for(var c=location.host,a="",b=0;b<c.length;b++)a+=c[b].charCodeAt(0);if("119119119461161011151164699111109"!=a)throw new URIError("u968fu4fbfu5199u70b9u5565u54c7u3002u3002");})();
把上边这段代码加入不让其他域名加载的js文件的最开头,加密的话其实就用一个js压缩工具就可以了。上边代码我使用的是 google的 Closure Compiler。js文件加入以上代码的话,只允许 www.test.com 的域名加载。
源文件如下:
(function() {
var chars = '119119119461161011151164699111109';
var hosts = location.host;
var s = '';
for(var i=0;i<hosts.length;i++) {
s += hosts[i].charCodeAt(0);
}
if(s != chars) {
throw new URIError('随便写点啥哇。。');
}
})();
var chars = '119119119461161011151164699111109'; 这段就是 www.test.com
其实就是将每个字符转换成了Unicode 编码,再通过location.host得到当前host,然后也做同样的转换,再判断是否相等。最后通过 抛异常使文件不被继续执行。其他方式就是通过location.href 将当前页面跳转。