JS函数在窗口中不起作用

时间:2015-10-21 08:41:33

标签: javascript

我打开一个新窗口,我需要调用一个函数。 如果我在新窗口中写入$(document).ready中的函数,它可以工作,但我想称之为“正常”函数... 我的代码:

var mywindow = window.open('', '', 'height=600,width=800');
mywindow.document.write('<html><head><title>My Title</title>');
mywindow.document.write('<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>');    
mywindow.document.write('<script type="text/javascript" src="function.js"></script>');
mywindow.document.write('</head><body >');
mywindow.document.write(data);
mywindow.document.write('</body></html>');
mywindow.document.close();   
mywindow.myFunction();   

我得到“mywindow.myFunction不是函数”

在作品上写下这个功能......

mywindow.document.write('<script> $(document).ready(myFunction())</script>')

为什么呢?我打电话给这个功能时出了什么问题?

1 个答案:

答案 0 :(得分:0)

var mywindow = window.open('', '', 'height=600,width=800');
mywindow.document.write('<html><head><title>My Title</title>');
mywindow.document.write('<script type="text/javascript" src="full host and path to js"></script>'); // see 1.
mywindow.document.write('</head><body >');
mywindow.document.write('</body></html>');
mywindow.document.close();  

mywindow.addEventListener('load', function() { // see 2.
    mywindow.myFunction();
});
  1. javascript的src需要完全限定 - 例如http://example.com/path/file.js
  2. 你必须mywindow.document.close();来触发加载事件,然后和 只有这样才能使用该功能