2012-06-25 62 views
0

我在我的網頁上有很多傳出鏈接,我想在瀏覽器的新選項卡中打開,但在我自己網站的iframe內。默認情況下在iframe中打開外發鏈接?

目前我使用下面的代碼:

<a href="www.example.com" target="_blank" onclick="this.href='http://mysite.com/article.php?link=www.example.com'">Example.com</a> 

這似乎不是一個有效的解決方案(因爲我讀了一些東西,與谷歌的結果),還我必須手動做這件事情中的每一個環節。

有沒有其他辦法可以做到這一點? JQuerysh的方式也對我有好處。

回答

2

我假設你希望所有鏈接自動重定向到iFrame,而無需修改現有代碼。在這種情況下,您可以創建一個函數,重定向到iFrame,然後使用jQuery來選擇所有元素並添加onlick事件。

$("a").one("click", function() { 
    this.href = 'http://mysite.com/article.php?link=' + this.href; 
}); 

您可以編寫一些額外的代碼來刪除「http://」並對其進行網址編碼。

+0

如果不是所有'a'標籤比?類似於類選擇器? – Asif

+0

是啊$(「a.myClass」)...會正常工作。 – jaypeagi

+0

我修改了代碼,以便它不會多次觸發該事件,例如,如果鏈接在新選項卡中打開了兩次。 – jaypeagi

0

如果你希望你的網站的URL的一個iframe點擊,試試這個框架...

你必須做出一個新的頁面,以充當代理。看起來你已經通過'http://mysite.com/article.php?link=www.example.com'瞭解了這一點。您將鏈接到代理頁面,代理頁面將保存iframe。事情是這樣的:

鏈接: <a href="article.php?link=example.com" target="_blank">Example.com</a>

article.php包含: <iframe src="<?php echo $_GET['link']; ?>" />

解決方案沒有錯誤處理和不編碼的URL。

或者,如果你想簡單地打開當前iframe中的鏈接,使用這個..

鏈接: <a href="http://example.com" target="myframe">Example.com</a>

的iFrame: <iframe id="myframe" />

+0

對我來說這不是一個解決方案,兩種情況都沒有達到我的要求。你是對的我有我的PHP頁面'article.php'獲取GET參數並將其傳遞給iframe的'src',但我不想用'a'的'href'顯示它,因爲它會顯示在光標懸停,這是我想要避免的... – Asif