使用html页面下载js文件,但js功能仅在刷新页面后才起作用

时间:2011-07-06 03:32:46

标签: javascript

parent.html : OnClick="popup();"

页面将打开

1。页面并显示内容
2。但是js功能不起作用。 js函数在js文件中定义 3。我使用firebug进行了检查,js文件已成功锁定 4。仅在刷新页面后才有效。有什么好主意吗?我犯了什么错误?
js功能:

<script>
    function popup(){
     var test = "<html><head>";
         test += "<script src= " + '"'+"jqueryTestfile.js"+'"'+ "> <" + '/' + "script>";
         test += "</head><body>";
         test += "<div id=" + '"' +"anyId" + '"' + ">";
         test += "</div>";
         test += "</body></html>"; 
     win.document.write(test);    
    }
    </script>

子弹出窗口和源代码如下所示:

<html> <head> 
   <script src = "jQueryTestFile.js"> </script>
 </head> <body> <div id = "anyId">
    some content here ...
 </div> </body> </html>

2 个答案:

答案 0 :(得分:1)

我拒绝后解决了我的问题。尝试并想分享:

<script type="text/javascript">
    window.document.close();
</script>

为什么即使在下载文件后js函数也无法正常工作: 因为我正在使用window.document.write()打开(弹出)一个新窗口并使用此方法导致问题所以我使用window.document.close()强制页面“完成加载”。

答案 1 :(得分:0)

var h = document.getElementsByTagName('head')[0],
    s = document.createElement('script');

s.type = 'text/javascript';
s.onload = function () { document.getElementById('hello').innerText = h.innerText; };
s.src = 'http://html5shiv.googlecode.com/svn/trunk/html5.js';
h.appendChild(s);

请参阅:http://jsbin.com/uhoger