4

iframeを持っていて、境界線をゼロに設定したいと思います。

しかし、javascriptまたはjQueryを使用して、iframeからこれを実行したいと思います。

これを行う方法?よろしくお願いします。

4

3 に答える 3

3

親が別のオリジンにいる場合、親のコンテンツへのアクセスは同一生成元ポリシーによって禁止されているため、それを行うことはできません。

親ドキュメントが同じオリジンにある場合、これはそれを行う必要があります:

(function() {
  var frames = window.parent.document.getElementsByTagName("iframe"),
      index,
      frame;

  for (index = 0; index < frames.length; ++index) {
    frame = frames[index];
    if (frame.contentWindow == window) {
      frame.frameBorder = "none";
    }
  }
})();

実例| 親のソース| フレームのソース

プロパティを比較するとき==ではなく、使用することが重要であることに注意してください(通常は特別です)。===windowwindow

于 2012-07-25T12:04:25.943 に答える
3

あなたはそれを行うことができます$(parent.document).find('#myIframe').css('border', 'xxxx');-しかし、上記のコメントで指摘されているように、両方のページ(メインのページとiframeに表示されているページ)は同じドメインにある必要があります-そうしないと、セキュリティ例外が発生します.同一オリジンポリシー。

于 2012-07-25T11:59:52.120 に答える
2

または、parent。$を使用できます。

parent.$("iframe").prop("frameborder", 0); // This will change all iframes
parent.$("#IframeID").prop("frameborder", 0); // This will change single iframe
于 2012-07-25T12:05:29.073 に答える