2013-11-28 36 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上的那些幻燈片

相關問題