javascript函数不会在IE中触发

时间:2010-05-10 16:24:32

标签: javascript html internet-explorer browser

我有这段代码:

  <body onLoad="subcatSelection();">

该函数位于.js文件中,该文件包含在此代码中:

  <script type="text/javascript" src="bincgi/search_lists.js"></script>

该功能包含警报('hello');仅用于测试目的,以查看它是否被调用,但它没有。

显示“页面错误”或在Explorer 6左下角调用的任何内容,当双击它时,它假定LINE x ROW y上出现错误,这是body-onload事件。

有人有想法吗?

如果您需要更多输入,请告诉我......谢谢

UPDATE:

onload事件之前的一些html ......

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="bincgi/search_lists.js"></script>
<script type="text/javascript" src="bincgi/jsfunctions.js"></script>
<script type="text/javascript" src="bincgi/calendar_eu.js"></script>
<link href="bincgi/main_styles.css" rel="stylesheet" type="text/css">
<link href="bincgi/calendar.css" rel="stylesheet" type="text/css">
<!--[if lt IE 8]>
<link href="bincgi/main_styles_ie_lt7.css" rel="stylesheet" type="text/css">
<![endif]-->

<style type="text/css">
body {
    background-color: #fffec7;
    background-image: url(Graphics/test_bgr.gif);
    background-repeat: repeat-x;
}
</style>

</head>
<body onLoad="subcatSelection();">

5 个答案:

答案 0 :(得分:0)

据我在评论中看到,问题可能出在search_lists.js的另一行(可能是在subcatSelection定义之前)。 IE只是停止解析它并且没有正确加载函数。尝试在该文件中保留单个函数定义,看看会发生什么:

function subcatSelection() {
    alert ("Hello");
}

答案 1 :(得分:0)

可能存在语法错误,即它无法正确定义函数。将该函数作为.js文件中唯一的函数,放置测试警报(“你好!”),然后重试。

答案 2 :(得分:0)

检查权限,您正在cgi bin文件夹中运行,该文件夹操作有点不同

我还建议不要将你的js文件与你的CGI(谁再使用cgi)混合

答案 3 :(得分:0)

如果[Juriy]回答不起作用,请尝试在您的页面中调用您的功能:

<script type="text/javascript" src="bincgi/search_lists.js"></script>
<script type="text/javascript" >
    alert("first test");
    subcatSelection();
</script>

如果这不起作用,它必须是一个微不足道的问题(例如,文件位置错误,需要重新启动浏览器,清理缓存等))这会给你带来麻烦。

答案 4 :(得分:0)

因为你只是从我理解的IE6上遇到问题,我会先尝试使用Fiddler来确定你的文件是否正确下载,如果是,那么我会将search_list.js的内容修改为是:

alert('Before def');
function subcatSelection() {
    alert('In subcatSelection');

}
alert('After def');

然后创建一个这样的页面,看看你是否按顺序获得警报:'在def之前','在def之后','在Call之前','在subcatSelection','在Call之后'。

此时,如果问题仍然存在,您应该确定问题出在哪里。如果你没有错误,那么开始逐个插回各个部分(在body onload中移动调用然后尝试,在search_list.js中重新添加代码然后尝试,重新添加其他JS包含然后尝试,等)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="bincgi/search_lists.js"></script>
<script type="text/javascript">
    alert("Before Call");
    subcatSelection();
    alert("After Call");
</script>
</head>
<body>test</body></html>