为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript/jQuery - 更改对象数据属性不会停止在 Chrome 中播放视频

Javascript/jQuery - 更改对象数据属性不会停止在 Chrome 中播放视频

森栏 2023-03-18 17:56:01
我有一个如下所示的对象:<object data="black.html" width="100%" class="vidlink vid1link"></object>然后我使用以下代码加载 youtube 视频:$(".vid1link").attr("data", "https://www.youtube.com/embed/MhKxm_G6FRw?autoplay=1");这很好用。但后来我希望用户“关闭视频”。以下代码触发数据属性变为黑页:$(".vid1link").attr('data', 'black.html');这在 Firefox 和 IE/Edge 上运行良好。但在 chrome 上,视频继续播放。我检查了控制台中的元素,它成功地用 black.html 替换了数据,但它仍然继续播放视频,如前所述,仅在 Chrome 中。这是一个已知的错误还是正常的 chrome 行为?非常感谢编辑:现在我通过向 youtube 视频发送暂停请求找到了解决方法:将以下内容添加到 youtube 链接:enablejsapi=1this.contentWindow.postMessage('{"event":"command","func":"stopVideo","args":""}', '*')虽然 - 如果页面上有多个视频,这似乎不起作用。
查看完整描述

2 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

$('.vid1link').replaceWith('<object data="black.html" width="100%" class="vidlink vid1link"></object>');

您需要在替换属性之前删除完全旧的元素


查看完整回答
反对 回复 2023-03-18
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

    document.getElementsByClassName(".vid1link").setAttribute('data', 'black.html');



查看完整回答
反对 回复 2023-03-18
  • 2 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信