Javascript firefox未启动$(document).ready(window.open时的函数()
我正在尝试使用window.open()和$(document).ready(function(){…})动态创建一个新窗口;我在Chrome和Internet Explorer上使用它,但firefox没有触发jQuery代码。请参阅下面的代码: index.html代码:Javascript firefox未启动$(document).ready(window.open时的函数(),javascript,jquery,html,firefox,window.open,Javascript,Jquery,Html,Firefox,Window.open,我正在尝试使用window.open()和$(document).ready(function(){…})动态创建一个新窗口;我在Chrome和Internet Explorer上使用它,但firefox没有触发jQuery代码。请参阅下面的代码: index.html代码: <html> <head> </head> <body> <a href="javascript:void(0);" onclick = "showDetails(
<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>
第一个警报“正在执行js文件”正在执行,但第二个警报“已启动文档”
你知道如何在firefox上实现这一点吗
注意:
- w.document.close();并返回false;添加到后面,但仍然不起作用…
- jquery正在正确加载
s.src = "jquery1.10.2.js";
应该是:
s.src = "jquery-1.10.2.js";
或者任何指向jquery的有效url。为什么总是使用相同的变量名?请尝试如下方式:
<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>
函数showDetails(名称、时间戳){
var w=窗口打开(“,时间戳);
var s1=w.document.createElement(“脚本”);
s1.type=“text/javascript”;
s1.src=“var eventArray=[];”;
w、 文件.正文.附件(s1);
var s2=w.document.createElement(“脚本”);
s2.type=“text/javascript”;
s2.src=“jquery1.10.2.js”;
w、 文件.正文.附件(s2);
var s3=w.document.createElement(“脚本”);
s3.type=“text/javascript”;
s3.src=“test.js”;
w、 文件.正文.附件(s3);
w、 document.title=名称;
w、 document.close();
返回false;
}
fiddle here..两个警报都会显示。Firefox 28!确保您已正确加载jquery。并在控制台中检查是否存在错误,如“$未定义”你包括jQuery了吗?嗨,大家好,jQuery加载正常,fiddler可以工作,但我的问题是它没有打开一个新窗口。看起来你在打开窗口后试图操作DOM属性。如果这是事实,那么它将不起作用。你不能从一个文档操作另一个文档。嗨Amit Joki,我的jquery正在正确加载。问题是当我试图打开一个新的windowHi-cenk ebret时,我试图更改变量名,但仍然没有成功
<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>