私の問題はこれに非常に似ています:親が別のドメインにある場合、別のiframeでjavascript関数を実行します
B.com/page1 と B.com/page2 を含む 2 つの iframe を持つA.comドメイン ページがあります。
B.com/page1 (既にリンクされているページと同じ)のボタンをクリックして、 B.com/page2 iframeで関数を実行する必要がありますが、 jQueryを使用しています。
今、私はB.com/page1でこのコードを使用しています
parent.$(parent.document).trigger("myFunction", [myParams]);
B.com/page2 で取得します
parent.$(parent.frames).bind("myFunction", function (e, value) { localFunction(value); });
これは、B.com/index から page1 と page2 の両方をロードするとうまく機能しますが、A.com からロードするとエラーで失敗します
安全でない JavaScript が、URL B.com/page2 のフレームから URL A.com のフレームにアクセスしようとしています。ドメイン、プロトコル、およびポートが一致する必要があります。
エラーは bind 関数によってトリガーされます。リンクされたトピックで既に述べたように、コードを使用して iframe から同じページ内の他の iframe を参照できます。
parent.frames['page2'].myFunction(args);
しかし、私はまだjavascriptコンソールと別のエラーから同じエラーを受け取ります:
キャッチされていない TypeError: 未定義のメソッド 'myFunction' を呼び出せません
どうすればここから抜け出すことができますか? ありがとうございました!