-3

尝试跨域检查版本。这是 JS Bin 上的代码,因此您可以看到它是如何不起作用的。 http://jsbin.com/iKaWEFI/12/edit?html,js,输出

DOMAIN1(这是 DOMAIN2 中链接处的代码):

function myVersion1(){window.domain2_version="1.0";}

域2:

<script src="http://yourjavascript.com/19653021128/version-new.js"></script>
<script>
  function myVersion2() {
    window.domain1_version = "1.0";
  }
  if (myVersion1() == window.domain2_version) {
    document.write("Good");
  } else {
    document.write("Bad");
  }
</script>

它说,但应该说,因为 DOMAIN1 上的 1.0 与 DOMAIN2 上的 1.0 相同。

如果 DOMAIN1 中的数字是 1.1,那么结果应该是 Bad。

4

2 回答 2

3

myVersion1 是一个函数,因此它不等于“1.0”。你有两个功能,两者都在做同样的事情。他们都设置了 window.domain2_version="1.0"。您可能希望您的函数返回一个值,或者您可以比较两个不同的全局变量。

于 2013-08-29T16:06:16.033 回答
2

域 1:

function myVersion1(){window.domain1_version="1.0";}

域2:

<script src="http://yourjavascript.com/19653021128/version-new.js"></script>
<script>
  function myVersion2() {
    window.domain2_version = "1.0";
  }
  myVersion1();
  myVersion2();
  if (window.domain1_version == window.domain2_version) {
    document.write("Good");
  } else {
    document.write("Bad");
  }
</script>

优化版

域 1:

function myVersion1(){ return "1.0"; }

域2:

<script src="http://yourjavascript.com/19653021128/version-new.js"></script>
<script>
  function myVersion2() {
    return "1.0";
  }
  document.write(myVersion1() == myVersion2() ? "Good" : "Bad");
</script>
于 2013-08-29T16:08:52.197 回答