2017-10-06 11 views
0

私は多少このようになりますインラインフレーム(Javaサーブレット)ベースのウェブサイトに問題が午前:ユーザーがすることを決定した場合、アイフレームのそれぞれは、スタンドアロンのページですのでiframeベースのウェブサイトで、ユーザーが1つのiframe内のリンクをクリックした後、新しいウィンドウですべてのiframeを読み込む方法は?

<!DOCTYPE html> 
 
<head></head> 
 
<body> 
 
    
 
<iframe id="top" name="top" src="$link.setAction('top').relative()"></iframe> 
 

 
<iframe id="content" name="content" src="$link.setAction('content').relative()"></iframe> 
 

 
<iframe id="footer" name="footer" src="$link.setAction('footer').relative()"></iframe> 
 

 
</body> 
 

 
</html>

をいずれかのiframe内からリンクを開くと、新しいウィンドウまたはタブに読み込まれたページは、ウェブサイト全体の一部に過ぎないため、壊れたように見えます。

ユーザーがブラウザから「新しいタブで開く」または「新しいウィンドウで開く」を選択したかどうかを検出する方法があるかどうかは疑問でした。次に、この後、すべてのiframeが新しいウィンドウに読み込まれることを確認する必要があります。

もっと良い解決策があるかどうかを教えてください。

+1

あなたがそれを行う必要があるのはなぜ?いずれの場合も、別のレンダリングされたiframeを送信しますか? – Kalamarico

+0

私が扱っているアプリケーションは以前から構築されていて、誰かがHTML5でサポートされていない** frameset **を使うことに決めました。したがって、** iframe **に変更しました。私がちょうど以下のコメントで説明した問題:「誰かが右クリックのコンテキストメニューを使用して「新しいウィンドウでリンクを開く」を選択すると、リンク先のiframeだけが開かれます。 **コンテンツ** iframeからリンクを開こうとすると、**トップ**および**フッタ**のないこのiframeだけが新しいウィンドウに読み込まれ、ページが壊れて見えるようになります。 – rmatuszczak

答えて

1

ターゲット属性を使用して、ユーザーがiframeをナビゲートしているときに問題を解決します。

あなたのiframeはすでにトップ、コンテンツという名前、およびフッタされています。また、親iframeの内側に3つのiframeを配置することができます。main_iframeのような名前を付けられます。

あなたのリンクには、target属性を使用して開くiframeの名前を指定します。

<a href="top.html" target="top">Example link inside the top frame which opens only in top frame</a> 
<a href="content.html" target="content">Example link inside the content frame</a> 
<a href="bottom.html" target="bottom">Example link inside the bottom frame</a> 

<a href="main.html" target="main_iframe">Example link which opens in the parent frame</a> 

その後、も、oncontextmenuのJavascript を使用して、右クリックイベントを無効にすることができます

window.oncontextmenu = function() { 
     return false; 
    } 
+0

残念ながら、この解決策は私の問題を解決しません。私は既に** target **属性を使ってアプリケーションをナビゲートしています。ただし、右クリックのコンテキストメニューを使用して「新しいウィンドウでリンクを開く」を選択すると、リンク先のiframeだけが開きます。たとえば、** content ** iframeからリンクを開こうとすると、** top **と** footer **のないiframeだけが新しいウィンドウに読み込まれ、ページが壊れて見えるようになります。 – rmatuszczak

関連する問題