2013-11-28 1 views
0

embedded reveal.js-powered slid.es 프리젠 테이션에서 슬라이드 향상을 트리거하는 방법을 연구 중입니다. 나는 성공적으로 일을 사용하여 iframe을 내 공개 API를 제어 할 수 있습니다이 설정에서부모 페이지의 embedded slid.es 프리젠 테이션에서 API 공개 제어하기

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

: 나는 (테스트 페이지와 같은 도메인에) iframe을 통해 슬라이드의 로컬 버전을 내장 부모 페이지가 같은 :

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을 통해 외부 사이트에 slid.es 프리젠 테이션을 삽입하고 Reveal API 메소드를 통해 슬라이드를 제어 할 수 있습니까?

답변

0

나는 이것에 대해 몇 가지 대화를 나누었고 실제적으로 불가능한 것을 묻는 Im가 나온다. 다른 도메인에서 실행중인 JS API를 부모 페이지에서 iframe을 통해 다른 도메인에 액세스하지 않고 제어하면 수행 할 수있는 일이 아니며 그렇게하고 싶지 않을 수도 있습니다.

slid.es에서 호스팅되는 슬라이드 대신 로컬로 호스팅 된 reveal.js 슬라이드에 연결을 설정하십시오.

관련 문제