ホームページ >ウェブフロントエンド >jsチュートリアル >js はデータ共有インターフェイスを作成します - フレームワーク間の相互の値の転送を簡素化します_javascript スキル

js はデータ共有インターフェイスを作成します - フレームワーク間の相互の値の転送を簡素化します_javascript スキル

WBOY
WBOYオリジナル
2016-05-16 18:00:241131ブラウズ

多くのフレームワークには親子関係があり、操作が非常に面倒です。多くの学生は次のような悲惨なコードを使用しています。

コードをコピー。コードは次のとおりです。

window.parent.document.getElementById("main")
.contentWindow.document.getElementById('input').value =
document.getElementById ('myIframe')
.contentWindow.document.getElementById('s0').value;

実際、この問題は window.top と呼ばれる固定ウィンドウがあります。フレームワーク アプリケーションでこのページにデータをキャッシュすると、サブページがどのように変更されても、その下のすべてのフレームを取得できます。 Cookie や HTML5 ローカル データベース戦略を使用する必要はありません。次の内容の js ファイルを参照するだけです:
コードをコピー コードは次のとおりです:

var share = {
/**
* フレーム間データ共有インターフェース
* @param {String} 保存されるデータの名前
* @param {Any} 保存される任意のデータ (この項目がない場合、クエリされたデータが返されます) )
*/
data: function (name, value) {
var top = window.top,
cache = top['_CACHE'] {};
top['_CACHE'] = キャッシュ [name] = 値 :キャッシュ[名前];
/**
* データ共有削除インターフェース
* @param {String} 削除されたデータ名
*/
removeData: 関数 (名前) {
var キャッシュ = window.top['_CACHE']; (cache && キャッシュ[名前]) delete キャッシュ[名前];
}
};


わずか数行のこのメソッドは、各フレーム ページのあらゆる種類のデータを共有できます。これはページ名に関係するもので、レベルは関係ありません。ある日フレームページのレベルが変更されても、まったく心配する必要はありません。
たとえば、ページ A に共有データを保存できる場合:



コードをコピーします コードは次のとおりです: share.data('myblog', 'http://www.jb51.net');
share.data('editTitle', function (val) {
ドキュメント。 title = val;
});


次に、フレーム ページがページ A のデータをランダムに取得します


コードをコピーします コードは次のとおりです: alert('私のブログのアドレスは: ' share.data('myblog'); var editTitle = share.data(' editTitle');
editTitle('データを取得しました');


はい、このテクノロジーは
artDialog。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。