私は約300のjspヘルプページで実装されているJavaScript関数 "print_something"を持っています。 この "print_something"関数を修正する必要があることが判明しました。 私は300ファイルを変更しないように解決策を探しています。Javascriptコールバック
私はカスタムヘルプページを開く1ページがあります。
window.open('SomeHelpPage101.htm', 'Help', 'location=no,status=no,height=500,width=600,resizable,scrollbars');
を私はこのような機能を再定義するためにしようと試み:
var jsObject = window.open('SomeHelpPage101.htm', 'Help', 'location=no,status=no,height=500,width=600,resizable,scrollbars');
jsObject.print_something() = function(){//corrected function}
私はステップバイステップでない場合、それはすべてのFirebugでうまく動作します。しかし、コードを実行すると、window.open(...)は非同期なので、まだ終了していないので、再定義は機能しません。
どうやってwindow.open(...)を強制終了してからprint_something()を再定義しても問題ありません。
ありがとうございます。私は、これはすでにので、ここでカバーされていると思い
'jsObject.print_something()='が正しくないようです。 [MDNによる](https://developer.mozilla.org/ja/DOM/window.open)、すべてがうまくいけば、 'window.open'は常に新しいウィンドウへの参照を返します。 –
同じjs関数を300個のファイルに入れるのではなく、スタンドアロンの.jsファイルに移動して、そのファイルを300ページに含めるだけです。 –
できるかどうか分かりませんが、できれば 'jsObject.print_something = function(){}'になります。あなたが持っている 'jsObject.print_something()'はメソッド呼び出しです。 – JMM