2010-08-18 65 views
1

如何通過javascript或jQuery將iframe中的所有鏈接設置爲「google.com」?如何通過javascript或jQuery將iframe中的所有鏈接設置爲「google.com」?

+4

是否來自與父頁面相同的域的iframe? – 2010-08-18 11:26:23

+0

不,這不是我的域名。 – faressoft 2010-08-18 12:06:28

+0

如果它不是相同的域,則不能這樣做。這是所有主流瀏覽器實施的安全措施。否則,你可以做一些事情,例如在iFrame中顯示他們的家庭傭工頁面,然後重定向登錄信息。 – 2010-08-18 12:18:13

回答

0

您可以使用iframe的contentWindow屬性得到保持在iframe運行全局對象。從那裏你可以做你想做的事。

$(iframe.contentWindow).find("a").each(function(){ 
    //replace url 
}) 

但如果iframe的網址是另一個領域,這將觸發一個XSS(跨服務器腳本)錯誤,您將無法訪問該窗口DOM。這是一項安全功能,因此無法繞開。換句話說,你不能那樣做。

1

運行這個iframe中

$("a").attr("href", "http://www.google.com/" + $("a").attr("href")) 

例子:jsfiddle


編輯

如果需要更換與google.com域名的鏈接,使用此

$("a").each(function(){ 
    var pathname = $(this)[0].pathname; 
    $(this).attr("href", "http://www.google.com" + pathname); 
}); 

例子:jsfiddle

+0

但我如何在iframe中運行代碼? – faressoft 2010-08-18 12:05:20

相關問題