在一个框架内控制来自其他iframe的javascript mp3播放器的播放/暂停动作

0 人关注

我为一个客户做了一个网络广播项目,所以我需要在一个主页面(index.html)中放入一个带有音频流的iframe和另一个带有Wordpress网络广播页面的iframe,以保证音频不会随着网站之间的页面导航重新加载。

问题是:"停止按钮 "是在webradio页面的iframe上,所以即使我把 "a "作为音频流iframe的目标,也没有用。我阅读了这里的一些主题,也尝试了 "parent.document",但没有任何效果。谁能给我一些启示?

有关的页面。 h ttp://radiotalent.com.br/

javascript
jquery
html
wordpress
iframe
fkrust
fkrust
发布于 2014-01-24
3 个回答
OnoSendai
OnoSendai
发布于 2014-01-25
已采纳
0 人赞同

让我们假设你在一个根文件内有两个 IFrame ,按照这样的处置方式。

  • IFrame1
  • IFrame2
  • 如果你想从 IFrame1 中调用例如位于 IFrame2 中的一个方法,那么 parent 确实是你的朋友。 IFrame1 中的代码看起来会是这样的。

    parent.document.getElementById("IFrame2").contentWindow.Method();
    

    下面的标记代码表示每个成员在上述行中的位置。

    ^ [parent (Root)]
           ^ [parent document]
                    ^ [The target frame]
                                              ^ [The window object in the frame]
                                                            ^ [The JS method itself]
    

    现在,请记住,由于"同源 "的安全策略,如果IFRames引用不同领域的内容,你将无法使用这个方法。

    亲爱的上帝!我从来不知道这个政策。在这里读到的,这就是为什么它不能工作的问题。非常感谢你提醒我,OnoSendai,拯救了我!;)
    随时欢迎你,@fkrust,很遗憾听到你不能这样实现。也许你可以使用URL中毒来传递参数?
    Thrash Bean
    Thrash Bean
    发布于 2014-01-25
    0 人赞同

    从webradio框架调用iframe1.stop()函数。这可能有帮助。

    使用jquery的 "停止按钮 "点击事件与外面的音频框架互动似乎不工作,他没有 "找到"。
    它应该可以工作,但不要使用jQuery,只需调用引用框架的函数。我已经这样做了很多次,而且很有效。
    Mike
    Mike
    发布于 2014-01-25
    0 人赞同

    这样想吧。如果你有两个iframe,你的连接就是父页。

    你要做的是,让我们假设你一开始就使用普通的javascript(考虑JQUERY THOUGH)。

    假设你有iframe 1,ID为 "iframe1",第二个为 "iframe2"

    以从iframe1访问iframe2

    var iframe2 = parent.document.getElementById("iframe2");