我正在尝试使用window.open()和$(document).ready(function(){...})动态创建一个新窗口;我让它在Chrome和Internet Explorer上运行,但是firefox并没有在jQuery代码上徘徊。请参阅以下代码:
index.html代码:
<html>
<head>
</head>
<body>
<a href="javascript:void(0);" onclick = "showDetails('name', 'name2');">Link</a>
<script type="text/javascript">
function showDetails(name, timeStamp)
{
var w = window.open("", timeStamp);
var s = w.document.createElement("script");
s.type = "text/javascript";
s.src = "var eventArray = [];";
w.document.body.appendChild(s);
var s = w.document.createElement("script");
s.type = "text/javascript";
s.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js";
w.document.body.appendChild(s);
var s = w.document.createElement("script");
s.type = "text/javascript";
s.src = "test.js";
w.document.body.appendChild(s);
w.document.title = name;
w.document.close();
return false;
}
</script>
</body>
test.js代码:
alert("executing js file");
$(document).ready( function()
{
alert("document ready fired");
});
第一个警告“正在执行js文件”正在执行,但没有第二个“文件已准备好被解雇”。
知道如何在firefox上使用它?
注意:
非常感谢你
答案 0 :(得分:0)
我内心的感觉说:
s.src = "jquery1.10.2.js";
应该是:
s.src = "jquery-1.10.2.js";
或任何指向jquery的有效网址。
答案 1 :(得分:0)
为什么你总是使用相同的变量名?你可以尝试一下:
<script type="text/javascript">
function showDetails(name, timeStamp) {
var w = window.open("", timeStamp);
var s1 = w.document.createElement("script");
s1.type = "text/javascript";
s1.src = "var eventArray = [];";
w.document.body.appendChild(s1);
var s2 = w.document.createElement("script");
s2.type = "text/javascript";
s2.src = "jquery1.10.2.js";
w.document.body.appendChild(s2);
var s3 = w.document.createElement("script");
s3.type = "text/javascript";
s3.src = "test.js";
w.document.body.appendChild(s3);
w.document.title = name;
w.document.close();
return false;
}
</script>