iframe ページで js 関数を呼び出すには js を使用します

iframe ページで js 関数を呼び出すには js を使用します
最近、私は毎日論文提案に取り組んでいます。自分のスキルを発揮して、再びWebをデザインしたくてうずうずしていました。突然、問題に遭遇しました。以前は、WEBページをデザインするときは常にIEで実行していました。Chromeはおろか、Firefoxも考慮しませんでした。しかし、今は違います。少なくとも、Firefoxと互換性のないWEBページは非常に醜く、偽物だと思います。そのため、この概念を持って以来、ページをデザインするときに互換性に注意を払うようになりました。今回、互換性の問題に遭遇しました。htmlにはフローティングフレーム<iframe>があり、ページ内にページを埋め込むことができます。下の図に示すように、フレームページを作成するのに非常に適しています。

HTML ページは 2 つの部分に分かれており、左側はナビゲーション バー、右側は表示されるコンテンツです。コードは次のとおりです。
左の列のコードは次のとおりです。
<IFRAME frameBorder=0 id=frmTitleLeft name=framLeft src="left.html" style="HEIGHT: 100%; width:180px;">
left.htmlに接続
右の列も同様です。私が作成したページの場合、プレビュー効果は次のようになります。

では、より実用的な効果を得るために、どのような効果を達成できるでしょうか。任意のリンクをクリックすると、右側の列に表示されます。明らかに、js を介して実装する必要があります。元の互換性のない方法についてはあまり説明しません。次の実装手順を覚えておいてください。
1. まず、右列のiframeオブジェクトを取得します
var frames=document.getElementById("frameid"); //frameid は右列の iframe の ID 名です
2. src値をリセットする
frames.src=pageurl; //pageurlは表示されるページなので、ページジャンプが実現されます

しかし、もう 1 つあります。その中で関数を呼び出したい場合、それはそれほど簡単ではありません。たとえば、右の列に関数 right() があります。左の列のリンクで right() 関数を呼び出したいのですが、どうすれば実現できるでしょうか。

1. まず、leftframeはコンテナページindex.htmlに埋め込まれているので、インデックスレベルに戻ってrightframeオブジェクトを取得する必要があります。
var frames=window.parent.window.document.getElementById("frameid");

2. ページ内の関数を実行するには、ウィンドウオブジェクトを取得する必要があります。ここには重要なオブジェクトcontentWindowがあります。このオブジェクトを取得したら、その中の関数を実行できます。
フレームのコンテンツウィンドウを右にドラッグします。

上記コードはIE6、Firefox3、Chrome2.0に対応しており、テストも無事に通過しました。IE7は試していませんが、問題ないはずです。

<<:  jQuery キャンバスは QR コード付きのポスターを生成します

>>:  スマートCSSを使用して、ユーザーのスクロール位置に基づいてスタイルを適用します。

推薦する

Docker を使用して Django プロジェクトをデプロイする方法の例

また、Dockerを使用してDjangoプロジェクトをデプロイするのも非常に簡単です。とても良いです...

複数の無関係なテーブルからデータをクエリし、MySQL でページングする方法

MySQL 複数の無関係なテーブルクエリデータとページング機能要件主キーと外部キーの関連付けがない ...

Windows での MySQL の詳細なインストール手順と基本的な使用方法

目次1. MySQLをダウンロードする2. MySQLをインストールする3. MySQL の基本的な...

Macでのファイル権限の表示と設定の詳細な説明

序文Mac システムのターミナルでファイルの権限を変更するには、Linux の chmod コマンド...

よく知られているブラウザのDOCTYPEモード選択メカニズム

ドキュメントの範囲この記事では、Firefox やその他の Gecko ベースのブラウザ、Safar...

Vueはデジタル千単位区切り形式をグローバルに実装します

この記事の例では、Vue がデジタル 3 桁区切り形式をグローバルに実装するための具体的なコードを参...

MySQL の不正な文字列値の解決方法

MySQL を使用して中国語の文字を挿入すると、多くの友人から次のエラーが報告されます。 これは、文...

VMware ESXi のインストールと使用記録(ダウンロード付き)

目次1. ESXiをインストールする2. ESXiをセットアップする3. ESXiを起動するESXi...

MySQL5.6.31 winx64.zip インストールと設定のチュートリアル

#1. ダウンロード # #2. ローカルに解凍し、必要な構成のmy*.iniを変更します。 #3....

WeChatアプレットはシンプルなチャットルームを実装します

この記事では、WeChatアプレットの具体的なコードを共有し、簡単なチャットルームを実装します。具体...

Reactでプロキシを有効にする2つの実用的な方法

プロキシを有効にする2つの方法React には、直接使用できるカプセル化された Ajax リクエスト...

CSS (カスケーディング スタイル シート) の一般的な用語の概要

CSS を使用する場合は、DOCTYPE (ドキュメント タイプ定義) を記述することを忘れないでく...

divとtableの選択と組み合わせ方について簡単に説明します

ページレイアウトは、Web ページを扱い始めた頃からずっと気にかけていたことです。初期のテーブル構造...