0

クリックすると 3 つの iFrame のコンテンツが変更される ahref があります。コードは次のとおりです。

<a href='weekone.php' target='weekone' onclick='window.open("weektwo.php","weektwo"); window.open("weekthree.php","weekthree")'>Link</a>

現在、これは Firefox や Safari などでは完全に機能しますが、IE では機能しません。誰かが私のためにこの問題に光を当てることができますか? PHP フレームワーク内で作業しており、iFrame リンクがデータベースから呼び出されるため、Javascript を使用できません。

アップデート

window.open! から呼び出される URL のスペースに問題があるようです。データベースから情報を呼び出しているので (つまり、"weektwo.php?Name=Bob and Dave")、どうすればこれを回避できますか??

4

3 に答える 3

0

でリンクを開こうとしている場合は<iframe>、おそらく簡単です。

document.querySelector('iframe[name="weekone"]').src='test.htm';
document.querySelector('iframe[name="weektwo"]').src='test.htm';
document.querySelector('iframe[name="weekthree"]').src='test.htm';

(最も簡単なため、 document.querySelectorを使用しましたが、もちろん、document.getElementByIdまたは参照を取得する任意の方法を使用できます<iframe>。)

于 2012-05-31T10:07:10.373 に答える
0

コメントの後ろに、「return true;」を追加してみてください。onclick の最後まで (未テスト)...

<a href='weekone.php' target='weekone' onclick='window.open("weektwo.php","weektwo"); window.open("weekthree.php","weekthree"); return true;'>Link</a>

アップデート

更新された質問に照らして、PHP 関数「htmlentities」を使用してクエリ文字列を「HTML エンコーディング」してみてください。

私はあなたの元の(編集前の)コードに基づいています。この場合、編集をお願いして申し訳ありませんがブラウザに送信されたものを正確に表示するようにお願いしました...

<a href='weekone.php?Name=<?=htmlentities($i[Name])?>' target='<?=$i[Name]?> weekone' onclick='window.open("weektwo.php?Name=<?=htmlentities($i[Name])?>","<?=$i[Name]?> weektwo"); window.open("weekthree.php?Name=<?=htmlentities($i[Name])?>","<?=$i[Name]?> weekthree")'>Link</a>

UPDATE 2(私が愚かなため)

「HTML エンコーディング」ではなく、「urlencode」を使用した「URL エンコーディング」である必要があります...

<a href='weekone.php?Name=<?=urlencode($i[Name])?>' target='<?=$i[Name]?> weekone' onclick='window.open("weektwo.php?Name=<?=urlencode($i[Name])?>","<?=$i[Name]?> weektwo"); window.open("weekthree.php?Name=<?=urlencode($i[Name])?>","<?=$i[Name]?> weekthree")'>Link</a>
于 2012-05-31T09:52:25.800 に答える
0

IEのバージョンは?

IE 8でテストしたところ、これは完全に機能しました。

<a href='test.htm' target='weekone' onclick='window.open("test.htm","weektwo"); window.open("test.htm","weekthree")'>Link</a>

<iframe name='weekone' id='weekone' width=100 height=100></iframe>

<iframe name='weektwo' id='weektwo' width=100 height=100></iframe>

<iframe name='weekthree' id='weekthree' width=100 height=100></iframe>
于 2012-05-31T09:57:32.383 に答える