我在下面的代码中有一个问题和一个问题:
我的问题是变量loaded
的范围是什么。我问这个问题的原因是onload="if(loaded==1)inittextarea()
代码在Firefox上工作正常,而不是IE8。为什么会这样?我需要在这里做些具体的事情吗?或者这不是一种有效的做法?
<html>
<head>
<title>Some Page</title>
<link rel="stylesheet" href="../css/default.css" type="text/css">
<script type="text/javascript">
var loaded = 0; /*Point of interest*/
function jsLoaded() {
loaded =1;
}
</script>
<script type="text/javascript">
function inittextarea() {
alert("test")
tinyMCE.init({
elements : "content",
theme : "advanced",
readonly : true,
mode : "exact",
theme : "advanced",
readonly : true,
setup : function(ed) {
ed.onInit.add(function() {
tinyMCE.activeEditor.execCommand("mceToggleVisualAid");
});
}
});
}
</script>
<script src="../js/tiny_mce/tiny_mce.js" onload="jsLoaded()" type="text/javascript"></script>
</head>
<body onload="if(loaded==1)inittextarea()"><!--Works on Firefox only-->
*Usual stuff*
</body></html>
请指点什么?
答案 0 :(得分:3)
onload
元素上的{p> <script>
。你可以通过在{TinyMCE <script>
元素下面放一个<script>
元素来解决这个问题:
<script src="../js/tiny_mce/tiny_mce.js" type="text/javascript"></script>
<script type="text/javascript">
jsLoaded();
</script>
虽然实际上这一切都是不必要的:当<body>
的{{1}}触发时,所有的JavaScript都会被保证加载,所以不需要检查:
onload
答案 1 :(得分:2)
现在,在身体标签中使用onload是最佳做法。也许你应该修改它们的初始化方式。
这article 解释了。
答案 2 :(得分:1)
问题是脚本onLoad在IE中不起作用。