1

メイン ウィンドウのコンテキストで、またクライアント ウィンドウで呼び出したい JS 関数があります。次のようなもの:

var f = function() { alert(window.location); };

f(); // should show the location of the parent frame

// DOESN'T WORK, but is intended to show the location of the first IFrame
f.call(window.frames[0]);

これをグーグルで検索すると、子フレームで定義されている関数を呼び出す方法がほとんど示されます。ただし、親フレームで定義されている関数を子フレームで実行したいと考えています。そして、明白なことを排除するためwindowに、関数にパラメーターを追加することは実行可能なオプションではありません。

4

3 に答える 3

1

親ウィンドウで定義された関数をウィンドウのコンテキストで実行したい場合は、applyを使用できます。

top.someFunction.apply(window);

これが機能するには、2 つのウィンドウが同じドメインにある必要があります。

于 2012-10-16T13:16:38.920 に答える
0

window親ページのグローバルスコープに存在する関数を呼び出す場合は、に置き換えtopます。

于 2012-10-16T13:10:15.770 に答える
0

次のようなことを試しましたか:

// reference to window in iframe with id or name 'myIframe'
var win = window.frames['myIframe'];

// invoke function in win
win.getEvents();
于 2015-05-30T18:15:04.943 に答える