出于安全考慮,瀏覽器都是禁止來自外部網(wǎng)絡(luò)的網(wǎng)頁直接訪問本地硬盤資源的哦,以防止病毒或木馬之類的惡意軟件隨意竊取用戶的數(shù)據(jù)和信息。注意哦,這里說的“外部網(wǎng)絡(luò)”,也包括你在本地電腦利用IIS假設(shè)網(wǎng)頁服務(wù)器,然后網(wǎng)頁通過http協(xié)議訪問,但是文件卻是用你這種所謂的絕對(duì)路徑來訪問,這樣的話,瀏覽器會(huì)認(rèn)為網(wǎng)頁和文件是處于不同域(網(wǎng)頁在網(wǎng)絡(luò)中,而文件卻在本地硬盤),也會(huì)拒絕訪問的哦。
要想實(shí)現(xiàn)下載文件的目的,網(wǎng)頁和文件必須處于同一域,比如說把網(wǎng)頁用鼠標(biāo)雙擊啟動(dòng)(而不是在瀏覽器地址欄用網(wǎng)址來訪問),這時(shí)候網(wǎng)頁和要下載的文件都屬于本地文件,這時(shí)候就可以下載了。
或者把網(wǎng)頁和要下載的文件都放到IIS能夠訪問到的文件夾,然后在瀏覽器中用正常的網(wǎng)頁訪問方式也能下載,因?yàn)檫@時(shí)候網(wǎng)頁和文件都屬于網(wǎng)絡(luò)文件了,當(dāng)然,這時(shí)候a標(biāo)簽的寫法就要改為:<ahref="test.xlsx">...</a>或者<ahref="http...網(wǎng)址.../test.xls">...</a>
href 里寫 JS,目的不外乎就是為了執(zhí)行 JS 語句而已。比如 <a href="javascript:void(0)" onclick="doing()">link</a> ,是為了點(diǎn)擊鏈接不會(huì)跳轉(zhuǎn),同時(shí)執(zhí)行 onclick 里面的 JS。帶 onclick 的好處是可以獲取控件本身,比如 onclick="doing(this)",這個(gè) this 參數(shù)就是這個(gè) <a></a> 控件,然后就可以在 doing 這個(gè)函數(shù)里操作這個(gè)控件。寫成 href="javascript:doing()" 就是省略了 onclick 的寫法。
在 HTML 4.01 中,
標(biāo)簽可以是超鏈接或錨。在 HTML5 中,
標(biāo)簽始終是超鏈接,但是如果未設(shè)置 href 屬性,則只是超鏈接的占位符。