我有一個iframe,我想將它的邊框設置爲零。jQuery/Javascript:從iframe中設置iframe的邊框
但我想從裏面做 iframe,使用javascript或jQuery。
如何做到這一點?非常感謝,
我有一個iframe,我想將它的邊框設置爲零。jQuery/Javascript:從iframe中設置iframe的邊框
但我想從裏面做 iframe,使用javascript或jQuery。
如何做到這一點?非常感謝,
如果父母的身份不同,則不能這樣做,因爲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
是特殊的)。
你可以做到$(parent.document).find('#myIframe').css('border', 'xxxx');
- 但正如上面的評論指出的,這兩個頁面(主iframe中顯示的)應該在同一個域中 - 否則你由於相同的原產地政策,最終會出現安全異常。
或者您可以使用父母。$
parent.$("iframe").prop("frameborder", 0); // This will change all iframes
parent.$("#IframeID").prop("frameborder", 0); // This will change single iframe
請問包含它是對同一產地的文件嗎?因爲如果沒有,你會點擊[SOP](http://en.wikipedia.org/wiki/Same_origin_policy),因爲要刪除'iframe'上的邊框,你必須修改包含的文檔(至少,作爲據我所知)。 – 2012-07-25 11:56:00
感謝您的建議。他們在不同的領域;( – Eamorr 2012-07-25 12:02:04
@ Eamorr:啊,好吧,那麼我下面的答案是正確的,只是對你不太有用。:-) – 2012-07-25 12:06:10