火狐不兼容?
Firefox incompatibility?
http://ahmedstudio.za.pl/firefoxerror/
它在 chrome、opera 中有效,但与 Firefox 不兼容。
整个 javascript 不适用。
这直接在我的javascript.js:
window.onload = function() {
todo("body", 50);
alert("alert!");
setTimeout(function () {
todo("body", 0);
}, 1000)
}
function todo(element, size) {
//blahblah
}
function load() {
//do stuff
}
和适当的
<body onload="load()"> </body>
即使它实际上不能解决您的问题,我也想分享我关于用无效函数调用替换事件处理程序的发现。我写了这个小 fiddle:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
jQuery(function(){
$("body").on("load", function(){
$(this).append("Should not run")
});
});
</script>
</head>
<body onload="doesNotExist()">
</body>
</html>
Firefox、Explorer 和 Edge 实际上取代了 <body>
事件处理程序。但是,Chrome 会忽略 onload="doesNotExist()"
并执行之前的处理程序。
在 tag soup 领域,很难确定哪种解决方法是正确的,但它绝对是一个可以解释您的症状的错误。
这对我来说很好。我什至尝试使用此代码段创建一个虚拟页面,但无法复制 it.Here 是 snippet.Since 您共享的代码段不包含 jquery,我选择使用相同的代码。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<script>
window.onload = function(){
_todo({
a:'body',
b:50,
alertFrom:'window.onload'
});
setTimeout(function(){
_todo({
a:'body',
b:0,
alertFrom:'setTimeOut'
});
},1000);
};
function _todo(options){
var a = options.a;
var b = options.b;
var c=options.alertFrom
alert(c +" "+a +" "+b);
};
</script>
</body>
</html>
另请注意,函数后的分号很重要。
这是几张快照
http://ahmedstudio.za.pl/firefoxerror/
它在 chrome、opera 中有效,但与 Firefox 不兼容。 整个 javascript 不适用。
这直接在我的javascript.js:
window.onload = function() {
todo("body", 50);
alert("alert!");
setTimeout(function () {
todo("body", 0);
}, 1000)
}
function todo(element, size) {
//blahblah
}
function load() {
//do stuff
}
和适当的
<body onload="load()"> </body>
即使它实际上不能解决您的问题,我也想分享我关于用无效函数调用替换事件处理程序的发现。我写了这个小 fiddle:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
jQuery(function(){
$("body").on("load", function(){
$(this).append("Should not run")
});
});
</script>
</head>
<body onload="doesNotExist()">
</body>
</html>
Firefox、Explorer 和 Edge 实际上取代了 <body>
事件处理程序。但是,Chrome 会忽略 onload="doesNotExist()"
并执行之前的处理程序。
在 tag soup 领域,很难确定哪种解决方法是正确的,但它绝对是一个可以解释您的症状的错误。
这对我来说很好。我什至尝试使用此代码段创建一个虚拟页面,但无法复制 it.Here 是 snippet.Since 您共享的代码段不包含 jquery,我选择使用相同的代码。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<script>
window.onload = function(){
_todo({
a:'body',
b:50,
alertFrom:'window.onload'
});
setTimeout(function(){
_todo({
a:'body',
b:0,
alertFrom:'setTimeOut'
});
},1000);
};
function _todo(options){
var a = options.a;
var b = options.b;
var c=options.alertFrom
alert(c +" "+a +" "+b);
};
</script>
</body>
</html>
另请注意,函数后的分号很重要。
这是几张快照