我有一个iframe,我想将它的边框设置为零。
但我希望使用javascript或jQuery从内部 iframe执行此操作。
怎么做?非常感谢,
答案 0 :(得分:3)
您可以通过$(parent.document).find('#myIframe').css('border', 'xxxx');
执行此操作 - 但正如上面的评论所指出的那样,两个网页(主要网页以及iframe中显示的网页)应该位于同一个网域中 - 否则您就会#39 ;由于相同的原始策略,最终会出现安全例外。
答案 1 :(得分:3)
如果父母的姓氏不同,则不能这样做,因为Same Origin Policy禁止访问父母的内容。
如果父文档位于同一个原点,则应执行此操作:
(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";
}
}
})();
Live example | source of parent | source of frame
请注意,在比较==
属性时,使用===
而不是window
非常重要(异常,window
是特殊的)。
答案 2 :(得分:2)
或者您可以使用parent。$
parent.$("iframe").prop("frameborder", 0); // This will change all iframes
parent.$("#IframeID").prop("frameborder", 0); // This will change single iframe