URL地址中的#符號使用說明
更新時間:2011年02月12日 20:07:05 作者:
下面的內(nèi)容介紹了#號的使用,因為在url中多個#號代表不同的意義與區(qū)別。
一般我們想讓一個a標簽點擊后執(zhí)行javascript代碼,有以下幾種寫法:
方式一:<a href="#" onclick="alert(1);">點擊一</a>
這種方式的缺點就是點擊后會在地址欄的URL后面加#號,同時把頁面移動到頂部,一般不建議使用。
方式二:<a href="javascript:void(0);" onclick="alert(1);">點擊一</a>
這種方式避免了方式一的缺點,點擊后對頁面沒有任何影響。但是有一個致命的缺點,就是在IE6下不能執(zhí)行form對象的submit()方法,也不能執(zhí)行跳轉(zhuǎn)語句,比如
<a href="javascript:void(0);" onclick="document.forms[0].submit();">點擊一</a>
<a href="javascript:void(0);" onclick="window.location.>點擊一</a>
在IE6下就無效,換成href=”#”就能在IE6下正常執(zhí)行。
方式三:<a href="###" onclick="alert(1);">點擊一</a>
點擊后雖然會在地址欄的URL后面加三個#號,但是不會影響滾動條,同時在IE6下也能執(zhí)行form對象的submit()方法與跳轉(zhuǎn)語句,算是一個比較折中的方法。
結(jié)論:我個人認為如果執(zhí)行的javascript方法中需要提交表單、跳轉(zhuǎn)頁面,則用方式三,其它情況都用方式二。
另:這又附帶引出另一個問題,一般重新加載當(dāng)前頁面用如下的javascript代碼:
window.location.href = window.location.href;
但是當(dāng)URL地址中含有#時,上述代碼無效,于是需要用如下代碼:
window.location.href = window.location.href.split('#')[0];
將URL地址以#符號分割開,取第一部分即可。
在很多情況下/index.htm#desc,后面的desc可能就是參數(shù),不容易的參數(shù)顯示不同的內(nèi)容,不是簡單錨點,而是ajax讀取內(nèi)容。
方式一:<a href="#" onclick="alert(1);">點擊一</a>
這種方式的缺點就是點擊后會在地址欄的URL后面加#號,同時把頁面移動到頂部,一般不建議使用。
方式二:<a href="javascript:void(0);" onclick="alert(1);">點擊一</a>
這種方式避免了方式一的缺點,點擊后對頁面沒有任何影響。但是有一個致命的缺點,就是在IE6下不能執(zhí)行form對象的submit()方法,也不能執(zhí)行跳轉(zhuǎn)語句,比如
<a href="javascript:void(0);" onclick="document.forms[0].submit();">點擊一</a>
<a href="javascript:void(0);" onclick="window.location.>點擊一</a>
在IE6下就無效,換成href=”#”就能在IE6下正常執(zhí)行。
方式三:<a href="###" onclick="alert(1);">點擊一</a>
點擊后雖然會在地址欄的URL后面加三個#號,但是不會影響滾動條,同時在IE6下也能執(zhí)行form對象的submit()方法與跳轉(zhuǎn)語句,算是一個比較折中的方法。
結(jié)論:我個人認為如果執(zhí)行的javascript方法中需要提交表單、跳轉(zhuǎn)頁面,則用方式三,其它情況都用方式二。
另:這又附帶引出另一個問題,一般重新加載當(dāng)前頁面用如下的javascript代碼:
window.location.href = window.location.href;
但是當(dāng)URL地址中含有#時,上述代碼無效,于是需要用如下代碼:
window.location.href = window.location.href.split('#')[0];
將URL地址以#符號分割開,取第一部分即可。
在很多情況下/index.htm#desc,后面的desc可能就是參數(shù),不容易的參數(shù)顯示不同的內(nèi)容,不是簡單錨點,而是ajax讀取內(nèi)容。
相關(guān)文章
JavaScript實現(xiàn)數(shù)組在指定位置插入若干元素的方法
這篇文章主要介紹了JavaScript實現(xiàn)數(shù)組在指定位置插入若干元素的方法,涉及javascript中splice方法的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04關(guān)于javaScript注冊click事件傳遞參數(shù)的不成功問題
在javaScript中給一個html元素注冊click事件處理函數(shù)時,比如給該處理函數(shù)傳3個參數(shù)??墒遣还苁鞘褂孟旅婺欠N方式都不能給事件處理函數(shù)傳遞參數(shù)2014-07-07js實現(xiàn)導(dǎo)入導(dǎo)出功能實例代碼(FileSave.js)
這篇文章主要給大家介紹了關(guān)于js實現(xiàn)導(dǎo)入導(dǎo)出功能(FileSave.js)的相關(guān)資料,FileSaver.js是在客戶端保存文件的解決方案,非常適合在客戶端上生成文件的Web應(yīng)用,需要的朋友可以參考下2023-11-11