gpt4 book ai didi

javascript - IE 7 中出现奇怪的 javascript 错误,但 IE 8 中没有

转载 作者:行者123 更新时间:2023-12-02 19:54:06 25 4
gpt4 key购买 nike

我在 VS 2010 的网站项目中使用第 3 方控件,该项目在 3.5 框架上运行(是的,我需要将其升级到 4.0,但我很懒)。第 3 方控件具有可以使用 JavaScript 处理的各种客户端事件。例如,它有一个 OnClientDoubleClick 事件:

<myUserCtrl:SpecialView ID="ucSpecialView" runat="server" OnClientDoubleClick="myDoubleClick">
</myUserCtrl:SpecialView>

附带的 javascript 类似于:

<script type="text/javascript" language="javascript">
function myDoubleClick(sender, args) {
// and we do whatever we need to in here
}
</script>

我正在使用母版页,并且上面的 javascript 位于子页面的 header 内容持有者中(基本上我是说我的 javascript 位于正确的位置,并且我并没有只是将其放在子页面的某个位置)我的页面中间)。

我的问题:使用 IE 的开发人员工具(在菜单栏中或按 F12 即可找到),如果我尝试在浏览器模式设置为“Internet Explorer 7”的情况下查看网页,则会收到 JavaScript 错误。

Microsoft JScript 运行时错误:“myDoubleClick”未定义

但是,如果我通过将浏览器模式设置为“Internet Explorer 8”来查看网页,则我不会看到 JavaScript 错误和应有的控件功能(包括 JavaScript 函数 myDoubleClick)。

这是我的第 3 方控制的问题吗(我是否需要联系我的 vendor 并对其进行故障排除)?还是我的代码有问题?我已经做了相当多的谷歌搜索和搜索我的代码,但我似乎想不出任何东西。

编辑:看来另一位开发人员已经包含了一些在母版页中运行的 JavaScript 函数。所述函数位于脚本标记内,该脚本标记本身位于 div 标记内,原因我不确定(尽管 div 标记的 runat 属性设置为“服务器”,所以我怀疑它是因为脚本标记正在拉取一些客户端 ID出于某种原因)。无论如何,这是非常不正统的,因为脚本标签周围的 div 标签位于 header 标签内(即 - div 标签不属于 header 标签)。这似乎确实是罪魁祸首。我做了一些测试,发现如果我将 myDoubleClick 函数放置在母版页中的脚本标记中,那么在页面加载时就不会像以前那样发生 javascript 错误。但是,这不是一个可行的解决方案,因为我的 JavaScript 函数还利用子网页控件的各种客户端 ID,因此必须位于子网页的内容占位符中。

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<script type="text/javascript" language="javascript">

function myDoubleClick(sender, args) {
if (confirm("Are you sure you want to delete this node?")) {
$get("<%= btnDeleteNode.ClientID %>").click(); //full postback for delete node
}
}

</script>
</asp:Content>

最佳答案

渲染的 HTML 可能不包含方法调用中的参数,因此请从函数中删除 sender, args

关于javascript - IE 7 中出现奇怪的 javascript 错误,但 IE 8 中没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8887379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com