Adobe Captivate用のウィジェットを作成していますが、これはHTML5で動作する必要があります。このウィジェットには、フルスクリーンモードを切り替えるボタンがあります。基本的には、プラグインは以下のようになります。Adobe Captivateのウィジェットからiframe属性を編集する
function toggleFullscreen(elem) {
elem = elem || document.documentElement;
if (!document.fullscreenElement && !document.mozFullScreenElement &&
!document.webkitFullscreenElement && !document.msFullscreenElement) {
if (elem.requestFullscreen) {
elem.requestFullscreen();
} else if (elem.msRequestFullscreen) {
elem.msRequestFullscreen();
} else if (elem.mozRequestFullScreen) {
elem.mozRequestFullScreen();
} else if (elem.webkitRequestFullscreen) {
elem.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
}
} else {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
}
}
document.getElementById("fullscreen").addEventListener("click", toggleFullscreen);
<button id="fullscren">Toggle full screen</button>
しかし、ウィジェットはiframe
に挿入され、このiframe
がallowfullscreen
属性を持っていないので、フルスクリーンを切り替えるには、ボタンを防ぎますモード。
私は、自動的にこの属性を追加するための正しい構成でプロジェクトを発行するか、iframe
の内側からいくつかのJavascriptを実行することにより、iframe
からallowfullscreen
属性を追加するためのいずれかの方法を探しています。
私は、Javascriptのアクセサparent.document
を使用しようとしましたが、私はエラーを取得:
Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame.
ボタンはCPM.jsファイルを編集し、iframe属性に 'allowfullscreen:" true "'属性を追加すると機能します。明らかに、それは解決策ではありません。プロジェクトを公開した後にファイルの編集が必要なためです。 – Dunatotatos