ホームページ > ウェブフロントエンド > htmlチュートリアル > iframe アダプティブおよびフルスクリーンをサポート iframe_html/css_WEB-ITnose

iframe アダプティブおよびフルスクリーンをサポート iframe_html/css_WEB-ITnose

WBOY
リリース: 2016-06-21 08:59:52
オリジナル
1957 人が閲覧しました

iframe レスポンシブおよび全画面 iframe をサポート (iframe 自适应、并全画面 iframe をサポート)

###################### #############################################

1.jquery iframe リサイズを使用します(コンテンツが変更されると iframe のサイズが自動変更されます)

などのフルスクリーン iframe

2.user jquery フルスクリーン プラグイン

ここで、問題はiframe リサイザーは、iframe のスクロール = "no" を設定するため、全画面表示では、コンテンツが 1 画面を超える場合、スクロール バーは表示されません。

したがって、$(iframe).fullscreen() を呼び出す前に、iframe.scrolling="auto" を設定してください。


3.全画面表示を終了するときは、scrolling="no" を設定する必要があります。そうしないと、応答は続行されますが、スクロール バーのせいで見苦しくなります。

したがって、全画面状態を検出し、全画面を終了すると、iframe のスクロール属性を「no」に設定します。

iframe のコンテナ ページにコンテンツを次のように書きます:




/*

* フルスクリーン状態を検出します。フルスクリーンではない場合は、iframe.scrolling="no" を設定するだけです。

*/

function onFullscreenchange(e) {

// モードが変更されました。

console.log("onFullscreenchange");

/**

* Internet Explorer 11 より前 実装されていません

IE11 msFullscreenElement

Microsoft Edge 以降 fullscreenElement

        */

if (document.webkitIsFullScreen || document.mozFullScreen || document.msFullscreenElement||document.fullscreenElement)

{

/* 終了時にコードを実行します */

}else{//フルスクリーンを終了し、現在の iframe スクロールを設定 = いいえ

if(lastFullScreenIframe!=null && lastFullScreenIframe!=未定義)

{

lastFullScreenIframe[0].scrolling="no";//全画面モードではいいえ、スクロールをいいえに設定します

}

}

}

jQuery(document).ready(function() {

document.addEventListener("fullscreenchange", onFullscreenchange, false);

document.addEventListener ("webkitfullscreenchange", onFullscreenchange, false);

document.addEventListener("mozfullscreenchange", onFullscreenchange, false);

document.addEventListener("MSFullscreenChange", onFullscreenchange, false);//ie 11

});



楽しんでください。何か問題があれば、xiaohelong2005@gmail.com までメールしてください

############################ # ########################################

には以下が含まれます中国語:

iframe リサイザー プラグイン: https://github.com/davidjbradshaw/iframe-resizer

jquery フルスクリーン プラグイン: https://github.com/kayahr/jquery-fullscreen-plugin

自作フルスクリーンイベント検出機能など

処理内容:

1. iframe Reiserメソッドに従って実装します。 (新しい iframe が追加されるたびに、初期化関数を 1 回呼び出す必要があることに注意してください)

2. jquery fullpage を使用して iframe の全画面を実現します (iframe オブジェクトを取得し、fullpage を呼び出します) )


3. 非全画面モードでは正常に動作しますが、全画面モードではコンテンツが多い場合、スクロール バーが表示されません。

解決策は次のとおりです。

$(iframe).fullpage() を呼び出す前に、iframe.scrolling="auto" を設定し、lastFullScreenIframe を使用して最新の iframe を記録します (複数のタブ)

全画面モードでのスクロール バーの問題は解決されましたが、非全画面モードではスクロール = "no" をオフにする必要があります。解決策は次のとおりです。

全画面イベントを監視し、全画面を終了するときに iframe.scrolling="no" を設定します。

iframe の親フレームに次の関数を追加します。


/*

* フルスクリーン状態を検出します。フルスクリーンでない場合は、iframe.scrolling="no" を設定するだけです。 > */

function onFullscreenchange(e) {

// モードが変更されました。

console.log("onFullscreenchange"); *

* Internet Explorer 11 より前 実装されていません

IE11 msFullscreenElement

Microsoft Edge 以降 fullscreenElement

        * /

if (document.webkitIsFullScreen || document.mozFullScreen || document.msFullscreenElement||document.fullscreenElement)

{

/* コードを実行終了時 */

}else{// フルスクリーンを終了し、現在の iframe スクロール = no に設定します

if(lastFullScreenIframe!=null && lastFullScreenIframe!=unknown)

{

lastFullScreenIframe[0].scrolling="no";//全画面モードではいいえ、スクロールしないように設定します

}

}

}

jQuery( document).ready(function() {

document.addEventListener("fullscreenchange", onFullscreenchange, false);

document.addEventListener("webkitfullscreenchange", onFullscreenchange, false) );

document.addEventListener("mozfullscreenchange", onFullscreenchange, false);

document.addEventListener("MSFullscreenChange", onFullscreenchange, false);//ie 11

});

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート