我希望能够从嵌入式vimeo视频中访问类。我的iframe看起来像这样:
HTML
<iframe id="vimeo" src="//player.vimeo.com/video/85509673?portrait=0&badge=0&color=a82a2a" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
我正在尝试向play-button-cell
类添加点击事件,如下所示:
的jQuery
var embeddedContent = $("#vimeo");
console.log(embeddedContent);
var doc = embeddedContent.contentDocument; // get the inner DOM
console.log(doc);
console.log(doc.jQuery(".play-button-cell"));
doc.jQuery(".play-button-cell").click(function(){
alert('ok!');
});
我在控制台中收到以下错误消息:
Uncaught TypeError: Cannot call method 'jQuery' of undefined
play-button-cell
确实存在,因为当我在播放按钮上“检查元素”时,我可以看到它。
如何访问嵌入内容中的类?这可能吗?
答案 0 :(得分:1)
除非:
,否则不可行出于安全原因这样做 - 想想......访问一个人托管的页面。将这个人放在他们博客上的IFRAME中,使用JavaScript在你的行为上发布Facebook状态 - 这很糟糕,不是吗?
此安全措施称为同源策略(出于安全原因。)您可以在此处找到更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Same_origin_policy_for_JavaScript
P.S。如果您调试代码,您应该看到$('#vimeo')。contentsDocument返回NULL(或者抛出异常取决于您使用的浏览器。)