这个问题我不知道,不过有二种方法可以实现类似的问题.1.在语句中直接 eval;2.<script id=test src=''></script>然后onclick 的时候 改变 test的src指向目标js文件.

解决方案 »

  1.   

    <script id=test src=''></script>
    <input type=button value="test" onclick="test.src=test.js">
    结果一样,不会弹出 hello oneeval怎么引用外部脚本文件
      

  2.   

    <input type=button value="test" onclick="document.body.insertAdjacentHTML('afterBegin','&nbsp;<\script  language=javascript src=test.js defer><\/script>');">
      

  3.   

    <input type=button value="test" onclick="document.body.insertAdjacentHTML('afterBegin','<script defer src=test.js></script>');">
      

  4.   

    真是个怪问题
    指导书上说:
    When using the insertAdjacentHTML method to insert script, you must include the DEFER attribute in the SCRIPT element. 
    但是奇怪的是,就算加了,执行insertAdjacentHTML后,
    alert(document.documentElement.outerHTML)的结果显示,根本没执行成功。
      

  5.   

    只有 mandolin(Aphelion)可以,谢谢,结账!
      

  6.   

    用以下就能alert出来,真是个怪问题
    <input type=button value="test" onclick="document.body.innerHTML+='<script DEFER src=test.js language=javascript ></script>';">
      

  7.   

    原因在于,直接插入纯粹的脚本标记块是不被允许的,所以前面附加一个"&nbsp;"实体空白,以“骗过”浏览器,用defer标记是为了让其插入后立即执行
      

  8.   

    "原因在于,直接插入纯粹的脚本标记块是不被允许的,所以前面附加一个"&nbsp;"实体空白,以“骗过”浏览器"
    ------
    仔细理会中。。