<script>
var currentDomain = "10.10.10.103"; 
var dataStreamUrl = "10.10.10.103/2.php";
var transferDoc = new ActiveXObject("htmlfile"); // !?!
// make sure it's really scriptable
transferDoc.open();
transferDoc.write("<html><script>document.domain='www.abc.com';<\/script></html>");
transferDoc.close();
// set the iframe up to call the server for data
var ifrDiv = transferDoc.createElement("div");
transferDoc.appendChild(ifrDiv);
// start communicating
ifrDiv.innerHTML = "<iframe src='"+dataStreamUrl+"'></iframe>";
  
</script>请问红色部分,为什么要加个\在<\/script>这里才能正常运行?要不然会报javascript的错误

解决方案 »

  1.   

    能不能具体地讲一下?哪个是特殊字符,为什么</html>这里不需要呢
      

  2.   

    <\/script>这个标记本来是错的吧?改成transferDoc.write("<html><script>document.domain='www.abc.com';</script></html>");试试...
      

  3.   

    想明白了,不是html的特殊字符的原因
    是浏览器在<script>后面要找</script>结束,如果没有\,就把字符串里的</script>认为是结束,而加了\就会找下一个
      

  4.   

    个人理解,如果在/Script前不加转义符,则解释器会将字符串中的</Script>作为脚本的结束语句来对待。则从</html>之后的所有语句会做为非script语句来处理,这明显是错误的。
      

  5.   

    楼上正解,不然会提前结束<script>
      

  6.   

    9楼明显是水,write方法不会去解析,直接显示。。