Q1: window.onload期待的是函数句柄,
作为函数,testOnLoad是函数句柄, testOnLoad()是函数执行后的返回值,比如 var x = add(a,b)。
可将参数改为全局变量,这样就可在函数中引用了。

解决方案 »

  1.   

    Q2:利用defer<html> 
    <body> 
    <script language="javascript" defer="defer"> 
    document.getElementById("test").attachEvent("onload",test);
    function test() {
       alert("hello world"); 

    </script> 
    <iframe src="http://www.google.cn" id="test"></iframe>
    </body> 
    </html>
      

  2.   


    window.onload = function(){
      testOnLoad("argument!");
    }第二个问题,你把test函数放在iframe之前,应该就能看到结果了
      

  3.   

    CSDN上果然高手很多啊,偶还有一问不解: 对于Q2, 为什么必须要将 test 函数的定义放在 iframe 的前面?还有为什么 document.getElementById("test").attachEvent("onload",test); 也必须在 iframe 的前面? 如果
    <script language="javascript" defer="defer"> 
    document.getElementById("test").attachEvent("onload",test);
    function test() {
       alert("hello world"); 

    </script> 
    是放在一个单独的 js 文件中,我应该如何解决这个问题呢?
      

  4.   

    加载顺序问题。<script language="javascript" defer="defer" src="xxx.js"></script>
      

  5.   

     对于Q2, 为什么必须要将 test 函数的定义放在 iframe 的前面?还有为什么 document.getElementById("test").attachEvent("onload",test); 也必须在 iframe 的前面?