2010-08-18 30 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

相关问题