2017-01-06 7 views
0

こんにちは、友達とiframeで作業しています。メニューに問題があります。 iframeからnav-activeクラスのinnerを追加したいと思います。 iframeからさらに多くのボタンインナーを表示すると、それぞれのページが開き、それぞれのページメニューにnav-activeクラスがあるはずです。このクラスはmenu.Iの1つのli要素に追加する必要があります。私は画像を添付しています。私はメニューの次のコードを試してみましたが、私のために働いていません。iframeからページインナーを開き、それぞれのページメニューにnav-activeクラスを追加する方法

function myFunction() { 
    event.stopPropagation() 
    $("li.test1").addClass("nav-expanded"); 
    $("li.test2").addClass("nav-active"); 
} 

事前にこの問題を解決してください。アイフレーム付き

website view

答えて

0

IFRAMEとドメインが異なる場合、あなたが求めているものを行うことはできません。クロスドメインではできません。

同じ発信元ポリシーは、ある発信元から読み込まれた文書またはスクリプトが別の発信元からの文書のプロパティを取得または設定できないようにします。この方針はNetscape Navigator 2.0にまで遡っています。

ブラウザは、誤用やハッキングの可能性があるため、クロスフレームドメインスクリプトのセキュリティを強化しています。

iframeが同じドメインのものである場合。

$("#iFrame").contents().find("li.test1").addClass("nav-expanded"); 
+0

Neelamこの機能は私のためには機能しません。どの機能を使用しているかのように動作していますが、メニュー内の兄弟からnav-activeまたはnav-expandedクラスを削除しないようにしています – user3032273

+0

私のコードはiframeのIDになるように '#iFrame'を変更する必要があります。そのクラスを使用してターゲットを設定します。私はそれを見ることができるようにいくつかのHTMLを共有することはできますか?また、JS内で 'removeClass'を宣言していません。あなたのJSは 'addClass'だけを宣言しているので、削除する必要がないことを知らないのでクラスを削除しません。より多くのコードを共有してください。 –

関連する問題