2011-02-27 80 views
0

我需要能够打开指向iFrame中特定URL的链接;该链接是由php生成的,我无法更改源代码,因此如果可能的话,我需要动态更改iFrame中的链接。在新窗口中打开指向iFrame中特定域的链接

我正在做的事情是这样的:在一个非营利组织的网站上,我有一个附属商店(由php生成)显示在一个页面上的iFrame内,以便使其与网站的其他部分更具风格。 PHP商店从联盟服务中提取产品;与store.php的链接与主要的非营利网站位于同一个域中。

问题是产品的最终“立即购买”链接打开iFrame内的最终目的地电子商务商店,因此页面卡在iFrame中并且看起来很糟糕,必须将V和H滚动到看到它并退房。

我需要在新窗口中打开链接总是有类“av_buy_now”我有机会获得CSS文件,我可以改变。我可以访问PHP文件,即shop.php,但不会显示最终链接是在本地生成的。我展示的iframe这样:

<iframe src="http://nonprofit.org/shop/mj/shop.php"></iframe> 

是否可以使用jQuery或Javascript来发现与一类的链接,mydomain.com和一个新的窗口属性添加到他们吗?或者,还有更好的方法?谢谢

回答

0

没有一些代码我不知道你的代码的确切结构,但我可以做这项工作。它也需要jQuery在iframe中。

$('iframe')[0].$('.av_buy_now').filter(function() { 
    return $(this).attr('href').indexOf('mydomain.com') > -1; 
}).attr('target', '_blank'); 
+0

嗯..我怎么会包括jQuery的iFrame中?我可以将它包含在iFrame显示的html模板中;是这样吗? – markratledge 2011-03-05 19:51:40

0

你可以改变它,如果一些如何你可以管理执行这样的代码,改变类是有点麻烦,你得到了一个ID就可以做这样的事情。

page.html中:

<button onclick="openinnewwin()">Get It</button> 
<iframe src="test.html" id="ifrm"></iframe> 
<script language="javascript"> 
function openinnewwin(){ 
ob=document.getElementById('ifrm'); 
if (ob.contentDocument) { 
    ob.contentDocument.getElementById('a').target="_blank"; 
}else if (ob.contentWindow){ 
    ob.contentWindow.getElementById('a').target="_blank"; 
} 
} 
</script> 

的test.html:

<a href="http://www.google.com" class="aaa" id="a">Hello</a> 
相关问题