2013-11-28 37 views
0

我正在寻找一种方法来触发嵌入式reveal.js-powered sliding.es演示文稿中的幻灯片进度。我有一个父页面,通过iframe嵌入幻灯片的本地版本(在同一个域测试页):控制从父页面嵌入sliding.es演示文稿中的API

<iframe id="slidesdivlocal" src="slides-embed.html" width="576" height="420" scrolling="no" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> 

在这种设置中,我可以用的东西成功地控制了iframe中的显示API像:

document.getElementById("slidesdivlocal").contentWindow.Reveal.left(); 

我想能够同时控制从外部slid.es域的iframe,因为这使得嵌入容易得多嵌入式演示。当我尝试这一点,我碰到一个安全问题,因为父页面和IFrame的嵌入式页面不具有相同的起源:

Uncaught SecurityError: Blocked a frame with origin "http://localhost" from accessing a frame with origin "http://slid.es". Protocols, domains, and ports must match. 

This is an example显示左触发时会发生什么情况,以两种不同的嵌入视频()或右( )通过按钮点击。

我看到有人建议Cross-window messaging解决这个问题,但我只能控制父页面,所以这不是一个真正的选择。

有没有一种方法可以通过iframe嵌入到他们的外部网站,并仍然通过他们的Reveal API方法控制他们滑动.es演示?

回答

0

我已经有一些关于这个聊天,事实证明我实际上要求在这里不可能。通过iframe从父页面控制运行在另一个域上的JS API而无需访问其他域,这是你可以做的事情,也不应该这样做。

我会连接到本地托管的reveal.js幻灯片,而不是托管在sliding.es上的那些幻灯片

相关问题