ホームページ  >  記事  >  ウェブフロントエンド  >  js 親ページが子ページ データを呼び出すと、子ページは、親ページによって渡された特定のメソッド_html/css_WEB-ITnose パラメーターを通じて親ページをコールバックします。

js 親ページが子ページ データを呼び出すと、子ページは、親ページによって渡された特定のメソッド_html/css_WEB-ITnose パラメーターを通じて親ページをコールバックします。

WBOY
WBOYオリジナル
2016-06-24 11:57:27900ブラウズ

今日コードを書いていたら、同じページ上の複数の場所で同じサブページを呼び出す必要があることがわかり、複数のメソッドを呼び出すと、同じサブページが親ページのメソッドをコールバックしてしまい、問題が発生することが判明したので確認しました。ちなみに、この関数は、特定の親ページのメソッドを呼び出すため、将来的に役に立ち、助けが必要な人々に役立つことを願っています


eval。

() 関数はここで使用されます

定義と使用法

eval() 関数は文字列を計算し、その中の JavaScript コードを実行します。



子ページを呼び出す親ページのパス(子ページのパス)は以下の通りです


http://localhoust:8080/oss-portlet/html/util/area.html? oid=4&name=test&callBack= callBackDistrict

callback:

パラメータは親ページの特定のメソッド名です


子ページは親ページのコールバックで指定されたメソッドを呼び出します


eval( 'window.opener.' + getParams("callBack") + '('' + ids + '','' + names + '')');
window.close();

/* *
* ページパスパラメータ値を取得します

*/

function getParams(key) {
var href = window.document.location.href;
if (href.indexOf("?") != -1) {
var paramStr = href.substring( href.indexOf("?") + 1, href .length);
if (paramStr.indexOf(key + "=") != -1) {
paramStr = paramStr.substring(paramStr.indexOf(key + "= "),
paramStr.length);
if ( paramStr.indexOf("&") != -1) {
return paramStr.substring(paramStr.indexOf("=) + 1, paramStr {
部分文字列を返します。 (paramStr.indexOf("=") + 1,

}
}


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