javascript - 在 IE javascript 调试器中获取 window.onload 的 'not implemented'

标签 javascript internet-explorer debugging

出于某种原因,IE 不允许我从 HTML 页面调用函数。它在调试器中的函数 addEvent 处显示“未实现”。我很茫然,非常感谢一些帮助。

这是我网页中的代码(位于带有语言选择选项的“select”标签下方)

<script type="text/javascript">
window.onload = addEvent((document.getElementById('eng')), 'click', redirectEng);
window.onload = addEvent((document.getElementById('chs')), 'click', redirectChs);
window.onload = addEvent((document.getElementById('ger')), 'click', redirectGer);
</script>

最佳答案

我猜你真正想要的是这样的:

window.onload = function() {
  addEvent((document.getElementById('eng')), 'click', redirectEng);
  addEvent((document.getElementById('chs')), 'click', redirectChs);
  addEvent((document.getElementById('ger')), 'click', redirectGer);
};

你的代码可能在 FF 下工作,但它仍然是一个非常非常糟糕的代码。你误解了概念。多次分配给 .onload?无意义。另外 .onload 必须是一个函数。也许 FF 不会抛出错误(与 IE 不同),但我仍然确信您的代码可以在 FF 下工作,根本不需要 window.onload

在这种特殊情况下,我不得不说(因为这种情况并不经常发生):这不是 IE 的错。 :-)

编辑

显然 IE 在 window.onload 方面存在一些问题。阅读此主题:

window.onload() is not firing with IE 8 in first shot

了解更多详情。对于跨浏览器兼容性,我建议您查看一些著名的 JavaScript 库,例如 jQuery 。使用 jQuery,任务将非常简单:

$(function(){
    $( '#eng' ).click( redirectEng );
    $( '#chs' ).click( redirectChs );
    $( '#ger' ).click( redirectGet );
});

关于javascript - 在 IE javascript 调试器中获取 window.onload 的 'not implemented',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610951/

相关文章:

javascript - React Hooks 返回子包装组件

php - 如何在 laravel 5.4 blade 中找到准确的错误行?

java - 堆栈跟踪显示错误位置的异常

javascript - 执行ajax函数直到另一个ajax调用成功

php - JavaScript 中两个日期选择器值之间的天数差异?

javascript - 包含一个 HTML/CSS/JS 文件作为代码,不渲染

c# - IE 用户代理正则表达式(包括 IE11 和紧凑 View )

c# - 为什么IE显示网页无法显示信息

jquery - IE11 上的横向打印模式

xcode - 如何使用 Xcode 调试 dylib?