可能重复:
有没有在Javascript常数?
是否有申报在javascript终值的静态的,所以它不能由第三方来改变的呢?
我已经是一个文章共享应用,以免费用户被广告支持。 我希望做的是防止免费用户通过改变存储变量的内容改变innerHTML的内容。
我必须在这一刻重新加载文章的innerHTML上每5秒用户网站上的计时器,我存储在一个变量重载值。
但是,如果一个天才使用jsbeatify哪个变量是关键,以去除广告和改变的是,我们失去了我们的产品的收入和曝光探讨。
如何防止内部变量的改变?
UPDATE
这是什么,我想出了最终结果:
http://jsfiddle.net/PgdYP/1/
<div id="specialdiv"></div>
<input type="button" value="try to change the function i to do something different" onclick="t.i = function(){alert(data.secret);}"><BR>
<input type="button" value="set function to null out of spite" onclick="t=null;">
<script type="text/javascript">
e = function(){var data = { };
Object.defineProperty(data, 'secret', {
value: "Hello world!",
writable : false,
enumerable : true,
configurable : false
});this.z=function(){window.setTimeout("try{document.getElementById('specialdiv').innerHTML = '"+data.secret+"';t.i.z();}catch(err) {document.body.innerHTML=err;}",5000);}}
g = function(){};
g.prototype = new e();e=null;window.t = {}
Object.defineProperty(window.t, 'i', {
value: new g(),
writable : false,
enumerable : false,
configurable : false });g = null;
window.t = Object.freeze(window.t); t = Object.seal(window.t);
t.i.z();
</script>
这将打包格式呈现,只是为了使它更难只是将代码复制出来的来源。 这样简单地复制和粘贴代码出来的努力将被最大化,将是非常难以实现自动化。
谢谢大家的答案。