質問: function (value) { alert(value["test"]); }; ``` 子画面のJavaScript: ``` 選択 ``` エラーメッセージ: Uncaught DOMException: Blocked a frame with origin "https://common.test.com/" from accessing a cross-origin frame. (window.opener.OnSelectedItemで発生します) 親画面、子画面両方のサーバーサイドでHttpのレスポンスヘッダーに以下を追加しています。 ``` Access-Control-Allow-Origin:* Access-Control-Allow-Headers:* Access-Control-Allow-Methods:GET,POST,HEAD,OPTIONS Cross-Origin-Opener-Policy:Allow Cross-Origin-Window-Policy:Allow X-Frame-Options: sameorigin ```
回答: この問題はCORSではなく、同一オリジンポリシーによるものですね。 まず、CORSですが、下記のように別Windowやframe/iframeは対象外です。 > > このオリジン間共有仕様は、以下のようなサイト間 HTTP リクエストを有効にすることができます。 > > > > > * 前述のように XMLHttpRequest または Fetch API を呼び出す。 > * ウェブフォント (CSS の @font-face で別ドメインのフォントを利用するため)。これによりサーバーは、許可したウェブサイトのみから読み込みや利用ができる TrueType フォントを提供できます。 > * WebGL テクスチャ。 > * drawImage() を使用してキャンバスに描画される画像やビデオフレーム。 > * 画像から生成する CSS シェイプ。 > > > より引用 > > > したがって、本来は、以下の箇所で同一オリジンポリシー違反が発生するはずです。 ```