你得加一个<script> 的属性 defer
document.write("<table width='750' border='5'>  <tr><td height='74'><script src=explain.js defer><\/script><\/tr><\/td><\/table>");
</script>

解决方案 »

  1.   

    meizz(梅花雪) :首先谢谢你的回答我试了你的方法 结果表格看不到了 请指教
      

  2.   

    zmy0611(zmy) 你好必须这样实现 要是可以用别的办法也就不麻烦大家了 呵呵:)
      

  3.   

    <html> 
    <script language = javascript>
    document.write("<table width='750' border='5'>  <tr><td height='74'>")</script>
    <script src=explain.js></script>
    <script language = javascript>
    document.write("<\/tr><\/td><\/table>");
    </script>
    </html>
      

  4.   

    duoduobaba(避雷针) 你好 现在目的是不更改原始代码及JS代码
      

  5.   

    不改原始代码是不可能实现的。如果要实现就必须写代码,也就是修改代码。因为外部引用的js文件执行时如果不指定控件名称,是会默认到最开始执行的。document.all.id.value
      

  6.   

    先 </td>
    再 </tr>
    低级错误。
      

  7.   

    <html> 
    <script language = javascript>
    document.write("<table width='750' border='5'>  <tr><td height='74'>");
    </SCRIPT>
    <script src=explain.js></SCRIPT>
    <script language = javascript>
    document.write("<\/td><\/tr><\/table>");
    </script>
    </html>
      

  8.   

    我现在不明白的是如果我这样写
    <html> 
    <table width='750' border='5'>  <tr><td height='74'>
    <script src=explain.js></script>
    </td></tr></table>
    </html>
    就可以如果把上面的代码用document.write打出来就不可以
      

  9.   

    JS中的内容没有打印到表格中 而是打印到了表格下面, 原因:
    document.write("<table width='750' border='5'>  <tr><td height='74'><script src=explain.js><\/script><\/td><\/tr><\/table>");
    这样 write 之后又加载了 explain.js , 但是JS的加载必然是在<script src=explain.js> 被浏览器解析之后才加载的, 因此 explain.js 必然是 document.write 之后才被运行, 因此这句write代码就等效于:
    document.write("<table width='750' border='5'>  <tr><td height='74'><\/td><\/tr><\/table>");
    document.write('一天见一个 十天转一圈的才');
    所以才会发生这句话出现在table表格之后的现象.也正是因为这种延迟才导致了文件不能正常写在table表格里.
      

  10.   

    因此你可以这样改造:
    <html> 
    <script language = javascript defer>
    document.write("<table width='750' border='5'><tr><td height='74' id=mm><script language=javascript src='explain.js'><\/script></td></tr></table>");
    </script>
    </html>explain.js:
    mm.innerText = '一天见一个 十天转一圈的才';
      

  11.   

    meizz(梅花雪) 谢谢你的答复这样做是可以实现 但是还是要改动原代码 不知道还有没有其他的方法
      

  12.   

    我指的是document.write打印JS文件的问题
      

  13.   

    <html> 
    <script src=explain.js></script>
    <script language = javascript>
    document.write("<table width='750' border='5'>  <tr><td height='74'>");
    init();
    document.write("<\/tr><\/td><\/table>");
    </script>
    </html>
    //explain.js文件容:(只有一句)
    function init(){
    document.write('一天见一个 十天转一圈的才');
    }
      

  14.   

    prentice1001(徒弟)谢谢你的回答现在可以将问题简化为:下面代码直接用网页打开的结果是文字在表格里 如果用document.write("...")输出就打在表格外面 有什么办法可以让这第2种方式都将文字打印在表格里
    不用document.write也可以代码如下:
    <table width="750" border="1">
      <tr>
        <td height="74" align="center"><script src=explain.js></script></td>
      <tr>
    </table>
      

  15.   

    问梅花雪,不好意思,问您一愚昧的问题,mm.innerText 中的innerText什么意思啊,非常感谢!
      

  16.   

    因为你如果这样写explain.js根部就没有下载到客户端,当然不能运行你可以先加载再调用
      

  17.   

    主要想知道浏览器解析和document.write打印出来的效果为什么会 不一样呢
      

  18.   

    我现在已经放弃了Document.write这个写法了
    完全采用DOM的写法。
    如果不是太麻烦的话,我还是建议你改源代码。
      

  19.   

    chancelin() ( )  可以给个例子么
      

  20.   

    你这样写的结果是先产生你当前的所有脚本,然后再去调用document.write()语句。这样的结果当然是在文档的最后打印出你想打印的语句了。
      

  21.   

    <script src=explain.js></script>
    <table width="750" border="1">
      <tr>
        <td height="74" align="center" id="td_temp"></td>
      <tr>
    </table>explain.js文件容:改为这样写:var srcTd = document.getElementsById("td_temp");
    srcTd.innerText=srcTd.innerText+"一天见一个 十天转一圈的才";
      

  22.   

    对 “<”“ >”“ "”进行编码然后再write试试
      

  23.   

    var srcTd = document.getElementsById("td_temp");
    后面需要显示的可能是脚本 如何写呢我试了srcTd.innerHTML = "<script>document.write('aaaaa')<\/script>";
    且页面上我写了<script src=explain.js DEFER>结果出来没有数据
      

  24.   

    frogfool(青蛙呆) 我先达到的效果是用activex控件打印网页里的内容现在遇到的问题
    1 如果网页中有用到JS文件来打印文字的,如JS文件中有document.write(“aaaaa”)之类的,且页面要将这些内容打印到表格里面 结果只能打印在表格外面 目的是不改变网页及JS文件原码 而达到和浏览器直接访问一样的效果2 不支持IFRAME
    ACTIVEX是用的HTML解析 
    IID_IHTMLDocument2接口
    最后用write方法打印内容