transferDoc.write("<script>document.domain='"+currentDomain+"';</script>");
改成:
transferDoc.write("<script>document.domain='"+currentDomain+"';</" + "script>");就是把</script> 分拆一下

解决方案 »

  1.   


    function init()

    var currentDomain = "http://localhost/";
    var dataStreamUrl = currentDomain+"cometTest/service.aspx";
    var transferDoc = new ActiveXObject("htmlfile"); 
    transferDoc.open();
    transferDoc.write("<html>");
    transferDoc.write("<script>document.domain='"+currentDomain+"';<//script>");
    transferDoc.write("</html>"); 
    transferDoc.close(); 
    var ifrDiv = transferDoc.createElement("div");
    transferDoc.appendChild(ifrDiv);
    ifrDiv.innerHTML = "<iframe src='service.aspx'></iframe>";   
    }aspx.cs:while(Response.IsClientConnected)
    {
    Response.Write(DateTime.Now.ToString("HH:mm:ss."));
    Response.Flush();
    Thread.Sleep(1000);
    }
    将</script>改成楼上那种方式或者改成<//script>后, JS没有错了.但是service.aspx就无法response.write()东西了,html上成了空白页.改成</script>后,有JS错误,但是能够正常获取service.aspx的内容.那位高手..出个主意
      

  2.   

    只在服务端用过htmlfile,js还没试过:)
      

  3.   

      我之前也遇到了同样的问题,你把输出的/转义一下就ok了
       
      var currentDomain = "http://exmaple.com/";
      var dataStreamUrl = currentDomain+"path/to/server.cgi";
      var transferDoc = new ActiveXObject("htmlfile"); 
      transferDoc.open();
      transferDoc.write("<html>");
      transferDoc.write("<script>document.domain='"+currentDomain+"';<\/script>");
      transferDoc.write("<\/html>");
      transferDoc.close();  var ifrDiv = transferDoc.createElement("div");
      transferDoc.appendChild(ifrDiv);  ifrDiv.innerHTML = "<iframe src='"+dataStreamUrl+"'><\/iframe>";