使用document.documentElement.innerHTML,不使用document.write

解决方案 »

  1.   

    你可以放到一个隐藏的<textarea>里,然后,调用它的value
      

  2.   

    Sorry,又犯错了,document.documentElement是只读的
      

  3.   

    你可以放到一个隐藏的<textarea>里,然后,调用它的value
      

  4.   

    我从下面的文件读取,在程序里替换<%%>内的内容,再用out.println写出来
    <%MenuManageTop%> 〈%MenuManageLeft%〉的内容也是 读取文件再替换出来的,这样生成的页面就会出错,因为document.write()里不再是一个字符串了,我想应该是从servlet的编码里打主意<script language="Javascript">
    <!--
    function init()
    {
    topFrame.document.write('<%MenuManageTop%>');
    leftFrame.document.write('<%MenuManageLeft%>');
    }
    //-->
    </script>
    <frameset rows="50,*,0" cols="*" frameborder="NO" border="0" framespacing="0">
      <frame name="topFrame" scrolling="NO" noresize>
      <frameset rows="*" cols="200,*" framespacing="6" frameborder="1" TOPMARGIN="0" LEFTMARGIN="0" MARGINHEIGHT="0"  MARGINWIDTH="0" BORDER="0" border="0" bordercolor="#BDDBFF">
        <frame name="leftFrame" STYLE="border-right: solid #99ccff 1px; border-top: solid #003366 1px;" SCROLLING="auto" TOPMARGIN="0" LEFTMARGIN="0" MARGINHEIGHT="0" MARGINWIDTH="0" FRAMEBORDER="0" BORDER="0">
        <frame name="rightFrame"  marginheight=20 marginwidth=20  STYLE="border-left: groove #99ccff 2px; border-top: solid #003366 1px;" FRAMEBORDER="no" BORDER="0" BORDERCOLOR="#6699CC" SCROLLING="AUTO">
      </frameset>
    </frameset>
      

  5.   

    1. 字符串的定界符用 "
    2. 把所有的 \ 替换成 \\
    3. 把所有的 " 替换成 \"
    4. document.write(str)