2011-11-11 7 views
1

は、logout.jsp内のJavaScriptの行がありますように:Javascript - "parent.parent.someFunction();"の意味私が出くわしたwebアプリケーションで

parent.parent.renderProcessingTextOff(); 

IEのスクリプトデバッガを使用してページをデバッグするには、それはように、エラーと線の上に破壊されています

Object doesn't support this property or method 

このエラーの意味は何ですか? それを解決するには?

私はjavascriptを初めて使っています。だから簡単な説明をしてください。ログアウトの

フローは次のとおりです。ログアウトボタンのクリックで

は、コマンドが渡され、インターセプタで傍受され、logout.jspに要求を転送し、適切なプロセッサにそれを指示しています。

その情報が何らかのヘルプであれば、その春のアプリケーションです。

読んでいただきありがとうございます!

+0

'parent'はDOMElement、' parent.parent'はそのDOMElementの親DOMEelementです。メソッド '.renderProcessingTextOff()'は標準的なDOMElementメソッドではなく、存在しないので例外をスローします。したがって、その特定のDOMElementにそのメソッドを追加するには、どこかのコードが必要です。 – BGerrissen

+0

なぜこのタグは "spring"と "jsp"ですか? – pap

答えて

2

あなたのページにフレームやiframeがありますか?またはオブジェクト要素ですか?

parentは(あなたがそれを残している場合を想定して、window.parentwindow.一部)windowオブジェクトのプロパティです。 MDNから

ウィンドウが、<object>、又は<frame>にロードされると、その親ウィンドウを埋め込む要素とウィンドウです。

だから、ダウン、少なくとも二つのレベルであるIFRAMEからの場合、ラインparent.parent.renderProcessingTextOff();はその祖父母によって定義されたrenderProcessingTextOff()関数を呼び出すと言います。

明らかに、その関数が定義されている祖父母がいなかった場所にコードの行が現れた場合、引用したエラーが表示されます。

+0

行はlogout.jspの一部であり、logout.jspがロードされるたびに実行されます。 logout.jspがサーブレット・ディスパッチャを介してロードされています。だからここでこの行の目的を知らないでください。親、祖父母、等の概念はどこに来るのですか?申し訳ありませんが、javascriptと私は改善する必要があるいくつかの古いコードに新しいです。あなたの答えから、私は行がすべて必要ではないと感じる..正しい? – Nik

+0

あなたの 'renderProcessingTextOff()'関数が何をしているのかわからないので、その行が必要かどうかわかりません。サーブレットのディスパッチャについて心配する必要はありません。それはウェブサーバー上で起こっていることです。クライアント上では、Webブラウザで、ブラウザウィンドウ全体を満たすようなlogout.jspの読み込みや、別のページの部分だけを占めるiframe内の読み込みですか?後者の場合、「親」は他のページです。 – nnnnnn

1

この場合、最初の単語のように見えます。parentはオブジェクトインスタンスです。そのオブジェクトにはparentというプロパティがあり、アクセスするには構文parent.parentを使用します。プロパティは、関数として呼び出されるrenderProcessingTextOffというプロパティを持つはずの別のオブジェクトです。

あなたの問題について推測すると、parent.parentはトップレベルのObjectクラスであり、Objectにはそのメソッドがないようです。

すでにIEスクリプトデバッガを使用している場合は、その行にブレークポイントを置き、parentおよびparent.parentオブジェクトを調べます。

+2

これは一般的には理にかなっていますが、この回答はjavascriptとブラウザ環境の文脈では不完全です。 "parent"は "window"オブジェクトの事前定義されたプロパティなので、グローバルスコープで暗黙的に利用できます。 "親"とは、埋め込まれたコンテキスト(iframe、frameなど)の場合の親 "ウィンドウ"を指します。 – pap

関連する問題