我正在试图强迫用户使用Setter()
功能。 (用户在文本框中输入代码,然后我在eval()
中运行它)这是我现在想出的。请检查此代码是否会阻止用户使用Test()
函数进行调教。
<html>
<head>
<script>
var obj = function(){
var bar = null;
this.Setter = function(){
bar = 1
};
this.Getter = function(){
return bar;
}
}
function context(){
}
function Test(){
var o = new obj();
var ctx = new context();
var ret = function(str,Setter){
eval(str);
}.call(ctx,document.getElementById("Text1").value,o.Setter);
var bar = o.Getter();
if(bar == null) { alert("Failed!"); return; }
alert("Congratulations!");
return;
}
</script>
</head>
<body>
Code:<br>
<textarea id="Text1" cols="100" rows="25"></textarea>
<br>
<button onclick="Test();">Test</button>
</body>
</html>