非常奇怪的行为:当脚本被阻止然后被允许时,IE11似乎会创建一个不可见的选项卡 - 如何修复它?

Ale*_*lex 7 javascript activex html5-video video.js internet-explorer-11

IE处于最佳状态:

有一个带有HTML文档的USB记忆棒.当用户在IE11中打开它并且脚本被阻止时,会出现一个提示,允许这些脚本运行.

在此输入图像描述

当您单击允许时,该站点似乎重新加载,但它看起来像一个新选项卡打开/关闭.

启用JS后,您将被重定向到该站点的在线版本.

现在,在网站上有一个视频,在10秒后开始自动播放.但是在IE11中,几秒钟后同一个视频开始并行播放,所以你在这里发出两次声音.

当您检查DOM并删除<video>标记(只有1)时,一个视频停止播放.后来开始的那个继续玩.即使我访问另一个网站,视频仍然在播放.

只有关闭浏览器才会停止播放视频.

当我允许直接执行脚本时不会发生此行为.

使用video.js和jQuery.

有任何想法吗?

Bek*_*caj 0

HTML 元素不需要 JavaScript 和/或 ActiveX 来提供其内容。它们是自动化的。

页面加载并渲染为纯 HTML 后,允许使用 JavaScript,将触发 DOM 构建并重新渲染内容。然而,DOM 可能会复制媒体对象的实例并开始运行并行流,即已由 HTML 自动化启动的流的副本。! DOM 不可见。

因此,没有新选项卡被打开或无法关闭,它只是一个处理初始流的 HTML 自动实例。

并且只有在本地运行 HTML 页面时才会发生这种情况。

最后:避免这种预期但不想要的行为的最佳方法是:将视频元素“autoplay”属性设置为“false”。

ps:关于您所说的以下问题:“一旦启用JS,您就会被重定向到该网站的在线版本。”

这是任何浏览器都无法或不会为您做的事情。因此,您必须自行删除触发浏览器导航到在线内容的代码。祝你好运。