我有一个简单的代码,您可以在以下链接中找到: http://jsfiddle.net/UXCb9/26/
<form name="Form1" method="post">
<!--Form data here, irrelevant.-->
<INPUT type="button" value="Watch" onclick="return move();">
</form>
<br><iframe name="frame1" width="50%" height="50%""></iframe>
<script type="text/javascript">
function move() {
document.Form1.action = "http://translation.babylon.com/"
document.Form1.target = "frame1"; // Open in an Iframe
document.Form1.submit(); // Submit the page with "Form1" Data
setTimeout("move2()", 2000);
}
</script>
<script type="text/javascript">
var person = { name: 'Joe Blow' }; // Disregard
function move2() {
document.write(person.name); // Write text once timer is over
}
</script>
基本上它只是一个单击一次调用Java函数的表单,该函数将表单提交到iframe,最后 - 用户在2秒后(通过计时器)收到一条短消息。它工作正常,但一旦用户尝试通过“匿名使用代理冲浪”网站使用代码,例如: http://www.superbproxy.com/browse.php?u=http%3A%2F%2Fjsfiddle.net%2FUXCb9%2F26%2F&b=4&f=norefer
嗯,它不起作用。我已经尝试了几个类似代理网站的代码(上面只是一个例子),结果是一样的。我已经尝试弄清楚为什么代理站点不能正确处理Java但是没有想法。对我来说,使用代理(非常多)的用户不会遇到任何问题。提前谢谢。
答案 0 :(得分:1)
行为将根据webproxy而改变。一些Web代理尝试解析页面上Javascript代码中包含的URL,但是当行末没有分号时它会失败。
您在
处缺少分号document.Form1.action = "http://translation.babylon.com/"
我添加了一个分号,你提到的代理与jsFiddle
配合得很好演示:http://jsfiddle.net/UXCb9/28/
使用代理:http://www.superbproxy.com/browse.php?u=http://jsfiddle.net/UXCb9/28/