2011-01-21 63 views
2

我們有一個網站,其網頁的一個包含框架(我們需要從其他網站獲取的數據)。問題是,一旦您到達包含框架集的頁面,即使您點擊其他鏈接,該URL也不會再發生變化。它一直顯示頁面與框架集的鏈接。例如與框架的頁面的URL是:框架集導致URL在導航頁面時不會更改。有沒有辦法解決這個問題?

http://www.ourwebsite.com/profile.php

通常,當你點擊網站上的其他鏈接,它會變成什麼網址/網頁名稱頁面了。但是,在這裏,一旦你登陸框架頁面,這個URL在某種程度上被掩蓋,只顯示http://www.ourwebsite.com/profile.php,無論你走到哪個站點。

有沒有辦法解決這個問題?

回答

1

編輯:

如果你想顯示從另一個網站的框架,你可以控制其他網站如何發射它的HTML,然後按照我下面原來的答覆的指令來獲取與target="_top"發出超鏈接的幀。

但是,如果你在取景的網站,你不擁有控制權,然後使用框架可能是行不通的。相反,您需要使用另一種方法來獲取數據。例如,您的服務器應用程序可以使用file_get_contents()或其他PHP HTTP客戶端庫從遠程站點獲取數據,然後發出您自己的網站內的數據(沒有任何幀)。當然,如果你不擁有遠程站點,你需要確保你可以以這種方式重新使用他們的數據。

OLD ANSWER(USE這個,如果你控制網站(S)的內部框架(S):

典型的方式來解決這個問題是在新的框架URL指向所有幀中的網址,與target="_top"上的超鏈接,通常包含查詢字符串參數告訴框架網頁什麼框架來加載

例如,假設framset /frameset.php與兩幀最初指着/frame1.php/frame2.php內幀1鏈接應該是這樣的:。

<a href="/frameset.php?frame1=link_url&frame2=frame2_current_url" target="_top"> 

其中link_url是要加載到該幀中的內容頁,而frame2_current_url是當前加載到frame2中的url(因爲當頁面重新加載時不希望它改變)。

然後,你需要更改代碼的父框架,以尋找那些查詢字符串參數,並相應地設置每幀的網址,使用默認的網址爲每一幀如果不提供查詢字符串參數。請確保將您填入的所有網址編碼到查詢字符串參數中。

請注意,您只希望做此魔法指着自己的網站鏈接的鏈接。對於鏈接到外部網站,你不應該重寫這些URL可言,所以你最終wtih此鏈接:

<a href="http://www.externalsite.com/" target="_top"> 

警告:這種方法真的只適合在這裏你有非常嚴格控制的網站所有生成的網址。真正的網站往往會有更寬鬆的控制,尤其是如果您有非開發人員提供內容或者您通過客戶端腳本進行導航。

+0

謝謝。它解決了這個問題。 – catandmouse 2011-01-21 08:14:31

1

<a href="foo" target="_top">

相關問題