2013-06-04 14 views
6

この問題を解決するために私は他の同様の問題を抱えていますが、何とかすべての解決策が機能していません。あなたは私のiframeがポップアップではなく、本部の下に表示され見ることができるようにiframe内のリンク(ポップアップではありません)

<div id="portalRight"> 
    <a target="_blank" href="http://ictforu.com"> <!-- this link works , it opens up another tab --> 
    <ul id="subtabnav"> 
     <li class="datasetTab"> 
      <a href="#">dataset</a> <!-- Click on this will trigger the dataset iframe to be loaded thru a servlet call --> 
     </li> 
     <li class="obsGraphTab" data-bind="css: { disabled: !aekos.subTabViewModel.graphTabsEnabled() }"> 
      <a href="#">Observation Graph</a> 
     </li> 
     ..... 
    </ul> 

    <div id="dataset"> 
     <iframe id="dataset-frame" class="graphiframe" seamless sandbox="allow-same-origin allow-scripts"></iframe> 
    </div> 
    <div id="testViewer"> 
       <iframe id="test-viewer-frame" class="graphiframe" seamless sandbox="allow-same-origin allow-scripts"></iframe> 
    </div> 

</div> 

:私はこのようになりますhtmlファイルを持っている

:だからここ

は、スニペットの例と私の質問です要素:Iframeのコンテンツは、リンクがクリックされたときにサーブレットを使用して埋められます。

iframeのiframeの下にベースタグ(base target = "_ parent")があります。

私は動作を指定するためにタグを使用していますが、リンクにもtarget = "_ blank"がありますが、リンクは全く機能しません。 同じリンクがiframeの外側で機能します。

例はiframe:

base target="_parent" /base 

本文の内容:

a target="_blank" href="http://ictforu.com" /a 

このリンクdoesntの仕事は、クリックが無視されます。

ご迷惑をおかけして申し訳ありません。

申し訳ありません、以前のhtmlタグでisseusを編集しました。

おかげで、 マドゥ

+0

あなたはiframe内に表示されるコードの例を提供することができますか? – showdev

答えて

7

私は本当に「なぜ」原因のiframeのsandbox属性についてあまり知らないが、リンクは私のために新しいタブでうまく開け説明することができないとき、Iその属性を削除しました。

編集:

もう少しそれを見ると、あなたが属性「許可トップナビゲーション」を追加し、「ターゲット= _parent」にリンクを変更することができるようだし、それが動作しますが、それはまだあなたが残している場合は動作しませんターゲット= _blankここ

空の文字列として指定した場合はMozillaのサイト

サンドボックスHTML5からのドキュメントの少しだけ
、この属性は、コンテンツの追加の制限を可能にしていることインラインフレームに表示されます。属性の値は、スペースで区切られた特定の制限を解除するトークンのリストにすることができます。有効なトークンは次のとおりです。

  • allow-same-origin:コンテンツは通常の原点からのものとして扱うことができます。このキーワードが使用されていない場合、埋め込みコンテンツは固有の起源からのものとして扱われます。
  • allow-top-navigation:埋め込みブラウジングコンテキストがトップレベルブラウジングコンテキストにコンテンツを移動(ロード)できるようにします。このキーワードが使用されない場合、この操作は許可されません。
  • allow-forms:埋め込み閲覧コンテキストがフォームを送信できるようにします。このキーワードが使用されない場合、この操作は許可されません。
  • allow-scripts:埋め込み閲覧コンテキストでスクリプトを実行できます(ただし、ポップアップウィンドウは作成しません)。このキーワードが使用されない場合、この操作は許可されません。

注:

  • 埋め込まれた文書はメインページと同じ起源を持っている場合はそれが埋め込まれた文書をすることができますよう、同時にallow-scriptsallow-same-originの両方を使用するのを強くお勧めしプログラムで​​属性を削除します。これが受け入れられますが、この場合は​​属性を使用しない場合より安全です。
  • 攻撃者が潜在的に敵意を持ったコンテンツをサンドボックスiframeの外側にあるユーザーのブラウザに表示するようにアレンジできるのであれば、サンドボックス化は一般的にごくわずかです。そのようなコンテンツは、潜在的な被害を制限するために、別の専​​用ドメインから配信することをお勧めします。

そこにはるかにではありませんが、here's the link

+0

ありがとうございました。私は新しいタブでリンクを開きたいと思っていました。しかし、難しいようです。 –

+1

サンドボックス属性を完全に削除しました。リンクが機能します。ありがとう。 –

関連する問題