繁体   English   中英

javascript函数不会在IE中触发

[英]javascript function wont fire in IE

我有以下代码:

  <body onLoad="subcatSelection();">

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

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

该函数包含一个alert('hello'); 只是出于测试目的,看它是否被调用,但是没有。

将显示“页面错误”或其在资源管理器6左下角的名称,并且双击它会假定LINE x ROW y出现错误,这是body-onload事件。

有人有想法吗?

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

更新:

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();">

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

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

可能有语法错误,它在避免正确定义函数。 使该功能成为您的.js文件中的唯一功能,放置测试警报(“ hello!”),然后重试。

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

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

如果[Juriy]答案无效,请尝试在页面中调用函数:

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

如果这不起作用,那肯定是一个琐碎的问题(例如,文件位置错误,需要重新启动浏览器,清理缓存等),这会给您带来麻烦。

因为仅根据我的了解,您才在IE6上遇到问题,所以我将尝试首先使用Fiddler来确定您的文件是否正确下载,如果下载正确,则将search_list.js的内容修改为:

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

}
alert('After def');

然后创建一个这样的页面,以查看您是否按以下顺序收到警报:“定义前”,“定义后”,“呼叫前”,“在subcatSelection中”,“呼叫后”。

在这一点上,您应该确定如果问题仍然存在,则在哪里。 如果没有错误,则开始一个接一个地插入各个片段(将调用移至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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM