2011-02-27 58 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>