javascript - 对象不支持从 iframe 调用的 MS Edge 中的属性或方法 'slideToggle'

标签 javascript jquery html microsoft-edge

我正在尝试使用来自 iframe 的“main-nav”id slideToggle 一个 div:

<div id="top">
  <div id="titlearea">
    <iframe id="customnavbar" src="navbar/navbar.html">..</iframe>
  </div>
  <div id="main-nav">...</div>
</div>

但我得到一个错误:0:Object doesn't support property or method 'slideToggle'

我正在为 a.dropdown-toggle 链接使用这个 onClick 事件处理程序:

$(function(){
  $("a.dropdown-toggle").on("click", function(){
    $("#main-nav", window.parent.document).slideToggle(300);
  });
});

我正在 Microsoft Edge 44.18362.267.0、Microsoft EdgeHTML 18.18362 中进行测试。 在我的脚本附加 onClick 事件处理程序之前,我正在加载 jQuery 库。

我在边缘控制台中尝试了 $("#main-nav", window.parent.document).slideToggle(300); 并且它工作正常。

任何想法可能是这里的问题?谢谢。

编辑

将我的代码推送到 github 后,我在 chrome 中对其进行了测试并得到了这个错误:

Uncaught TypeError: $(...).slideToggle is not a function
    at HTMLAnchorElement.myEventHandler (navbar.html:48)
    at HTMLAnchorElement.dispatch (jquery-3.3.1.slim.min.js:2)
    at HTMLAnchorElement.v.handle (jquery-3.3.1.slim.min.js:2)
myEventHandler @ navbar.html:48
dispatch @ jquery-3.3.1.slim.min.js:2
v.handle @ jquery-3.3.1.slim.min.js:2

解决方案

然后我发现了这个solution .

问题在于包含 jQuery 的 slim minified 版本,将其更改为 minified 版本会有所帮助。

最佳答案

解决方案描述here .

问题在于包含 jQuery 的 slim minified 版本,将其更改为 minified 版本即可解决问题。

关于javascript - 对象不支持从 iframe 调用的 MS Edge 中的属性或方法 'slideToggle',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57879009/

相关文章:

javascript - 如何获取由 HTML 完成的网络请求列表

javascript - 如何处理固定日期的突变?

jquery - 如何使用一个ajax发送多个实例并在laravel中的 Controller 调用中接收

jquery - 我想要动画高度

html - 在 CSS 中水平居中表格单元格的最简洁方法

.net - ajax 调用时浏览器卡住

javascript - 如何在Javascript中用递归替换循环?

javascript - 网站淡入淡出效果在 Internet Explorer 中不起作用

html - 在文本框右侧添加 `fa fa search`

html - 添加按钮后包装尺寸增加