2013-10-17 34 views
0

我有一个加载页面的iframe,当点击一个按钮时,加载包含链接的动态内容。我需要将所有这些链接的目标从_blank更改为_self - 但我完全停留在每次新内容加载到iframe时如何让代码运行。我试过很多的选择,最近一次是到点击功能添加到IFRAME作为触发运行代码:如何使用jQuery或javascript访问iframe的内容

$("#myFrame").click(function() { 
    $('#myFrame').find('a[target="_blank"]').each(function() { 
    $(this).attr('target', '_self'); 
    }); 
}); 

如何找到动态生成的内容,并更改链接目标一旦内容有在iframe中完成加载?没有“同源策略”问题,因为iframe中的页面位于同一个域中。

谢谢。

+0

您可以创建HTTP:/ /jsfiddle.net/为您尝试到目前为止,以便我们可以找出确切的问题并为您解决它。 –

回答

2

使用JavaScript来让你的iframe的DOM这样的:

var doc=window.frames[ "yourFrameName" ].document 

注:使用name没有id或你的框架的class如果您遵循上述规则,让您的框架

的DOM

此更改jquery对象

var elem=$(doc); 

ñ在elem流结合的Click事件,你正在做的代码在你的问题

elem.click(function() { 

elem.find('a[target="_blank"]').each(function() { 

    $(this).attr('target', '_self'); 
}); 

}); 
+0

我意识到我没有留下任何东西 - 通过首先选择多个链接之一来加载iframe本身,因此在页面加载时它是空的。通过将你的代码封装在一个框架onload函数中,它可以很好地工作。更好的是,我完全理解你做了什么。感谢一个非常明确的教训。 – sideroxylon

0

可以使用的内容()方法

下面是一个例子:

$("#myiframe").contents().find("#myContent") 
相关问题