2015年3月12日 星期四

錨點(anchor)在forefox的問題

這裡講的問題跟 iframe 無關,也跟 name 無關。

我的情況是這樣。有一個產品頁,裡面有幾個分頁(tab),介紹、規格、支援(support)。
然後在 support 這個分頁,裡面有 document 跟 firmware 兩個錨點。

網址像這樣:
http://www.example.com/product.php?name=PName&tag=support#documen


預期情況:
當 php 偵測到 get 參數 tag 等於 support,會顯示 support 分頁。然後 #download 會把頁面拉到 download 那個區塊。

問題:
在 IE 跟 Chrome 都正常,只有在 firefox 不正常。在 firefox ,頁面會直接跳到最下面。但也不是完全失效。如果頁面已讀取完,這時候在網址列那邊再按一次 Enter 鍵,頁面就可以跳到指定的錨點。但是只要開新分頁,第一次輸入網址按 Enter 鍵,錨點一定失效。要在網址列再按一次 Enter 鍵,錨點才會發生作用。


查了一陣子,發現這個指令
<SCRIPT LANGUAGE=JavaScript>
window.onload=function(){anch=window.location.hash;window.location.hash=anch;}
</SCRIPT>
來源是這篇
解決!

另外,在 smarty 下會有另外的問題。把大引號前後加空格就可以了。
window.onload=function(){ anch=window.location.hash;window.location.hash=anch; }

1 則留言:

  1. 實在太感謝你了!!!!
    chrome , ie 都沒有問題,只有火狐有,實在是太煩人了~

    回覆刪除