Jquery can';youtube视频嵌套得很深
当模式关闭时,我似乎无法让YouTube视频停止播放。视频消失,但音频继续播放 我在许多其他问题上尝试过这些解决方案,但似乎都不管用。我想这可能是因为我的视频嵌套得很深,我还没能瞄准它。和/或因为iframe具有相同名称的元素id。(不要让我开始了。) 下面是DOM的简化视图:Jquery can';youtube视频嵌套得很深,jquery,iframe,youtube,Jquery,Iframe,Youtube,当模式关闭时,我似乎无法让YouTube视频停止播放。视频消失,但音频继续播放 我在许多其他问题上尝试过这些解决方案,但似乎都不管用。我想这可能是因为我的视频嵌套得很深,我还没能瞄准它。和/或因为iframe具有相同名称的元素id。(不要让我开始了。) 下面是DOM的简化视图: html head body <div id="popoverview"> <div id="popoveritem"> <iframe id="
html
head
body
<div id="popoverview">
<div id="popoveritem">
<iframe id="popoverframe"> <!-- this is our modal -->
#document
html
head
body
<div id="popovercontainer">
<div id="popover_upc_video">
<div id="current_video">
<div id="player">
<iframe id="popoverframe">
#document <!-- this is from youtube -->
html
head
body
<div id="player">
<div id="playercontainer">
<embed id="video-player-flash"> <!-- the video -->
我试过很多瞄准目标的方法,但都不管用
谢谢你的帮助。
Charlie Magee您将jQuery对象设置为myPlayer,而不是 DOM节点
var myPlayer = $('#player > #video-player-flash')[0];
myPlayer.stopVideo();
请参阅此帖子:您可能需要执行类似操作:
$(“#popoverframe”).contents().find(“#popoverframe”).contents().find(“#player#video player flash”).stop()
还有$(“#player>#video player flash”)如果#视频播放器flash
是#playercontainer
的孩子,则code>将不正确。它将是$(“#player#video player flash”)代码>否。不会改变任何事情。基于此的各种组合也不起作用。@ryan--这改变了错误消息,但没有解决问题。新错误:UncaughtTypeError:Cannot调用undefinedIt的方法'stopVideo',如果您在JSFIDLE上发布了一个演示该问题的最小实现,这将非常有用。您可能还需要使用console.log来查看您选择的元素是否是正确的嵌入元素。@ryan--这有一系列php包含和数据库搜索。把它简化成小提琴也无济于事。只要我通过第一个iframe,Console.log就会空出来。这就是我转向stackoverflow的原因之一。
var myPlayer = $('#player > #video-player-flash');
myPlayer.stopVideo();
var myPlayer = $('#player > #video-player-flash')[0];
myPlayer.stopVideo();