下記の構造とファイル構成があります。
<frameset cols="225,50%,50%" frameborder="0" framespacing="0"> <frame src="/file_a.html" name="ADA" noResize SCROLLING="auto"> <frame src="/file_b.html" name="ADB" noResize SCROLLING="auto" frameborder="auto" marginwidth="10" marginheight="10" leftmargin="10" topmargin="10"> <frame src="/file_c.html" name="ADC" noResize SCROLLING="auto" frameborder="auto" marginwidth="10" marginheight="10" leftmargin="10" topmargin="10"> </frameset>
<a href='http://222.jp/file1.html' target='ADB'>ボタンA</a> <a href='http://222.jp/file2.html' target='ADB'>ボタンB</a>
http://111.jp/file_b.html
http://111.jp/file_c.html
//空欄
<a href='http://222.jp/file3.html' target='ADC'>ボタンC</a>
<a href='http://222.jp/file3.html' target='ADC'>ボタンC</a> <a href='http://222.jp/file4.html' target='ADC'>ボタンD</a> <a href='http://222.jp/file5.html' target='ADC'>ボタンE</a>
//詳細ページ
パターン1
http://111.jp/index.phpを読み込んだばかりの時に
ボタンAをクリックすると「ADB」フレームにfile1.htmlが表示され、さらにfile1.htmlのボタンCをクリックすると別ウィンドウでhttp://222.jp/file3.htmlが開きます。
パターン2
http://111.jp/index.phpを読み込んだばかりの時に
ボタンBをクリックすると「ADB」フレームにfile2.htmlが表示され、さらにfile2.htmlのボタンCをクリックすると「ADC」フレームにhttp://222.jp/file3.htmlが表示されます。
パターン3
index.htmlを読み込んだばかりの時に
ボタンBをクリックすると「ADB」フレームにfile2.htmlが表示され、さらにfile2.htmlのボタンCをクリックすると「ADC」フレームにhttp://222.jp/file3.htmlが表示されます。
その状態で
ボタンAをクリックすると「ADB」フレームにfile1.htmlが表示され、さらにfile1.htmlのボタンCをクリックすると「ADC」フレームにhttp://222.jp/file3.htmlが表示されます。
パターン1の時にはコンソールに以下のエラーが出ます。
Unsafe JavaScript attempt to initiate navigation for frame with URL 'http://111.jp/file_c.html' from frame with URL 'http://222.jp/file3.html'. The frame attempting navigation is neither same-origin with the target, nor is it the target's parent or opener.
質問
①ネットで調べるとクロスドメインによるエラーと言う記載を見かけましたが、パターン1もパターン2も導線が同じなのになぜ片方はエラーが出るのか
②パターン3のようにパターン2をしてからパターン1を実行するとうまく動くのか
③別ウィンドウで開かないようにするにはどうすればいよいか
chrome 最新
Mac OSX Mojave
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/31 09:28