解決:<a>標籤中 href:mainto 無法調起本地郵件客戶端問題

問題描述

在頁面(單頁面應用)上使用了標籤,在 href 屬性中設置了郵箱的地址,例如:

<a href="mailto:[email protected]">[email protected]</a>

在頁面上點擊郵箱 [email protected]的時候,頁面地址欄中的最後一級目錄會展示爲:falthpath。
頁面上對應的也就是路由中配置的當找不到當前路徑時的錯誤,通常是一個 404 頁面。

分析

這個應該是在點擊郵箱的時候,網頁應用把 href 後面的值當作路由的名稱來使用了。
所以,把 href 的值當作地址欄的最後一個目錄來使用的時候,當前的 url 就是一個並不存在的地址了,
所以會展示上面的 404 頁面,或者其他設置的找不到當前路徑時候配置的錯誤頁面。

解決

標籤中的href中,不直接使用要跳轉的地址,而是使用一個 JavaScript 表達式可以用來阻止某些鏈接或者按鈕的默認行爲而去執行綁定的其他事件,即:javascript:void(0);,然後給這個標籤,加上一個原生的點擊事件,在
這個事件裏面,去執行要跳轉的操作。即:

<a href="javascript:void(0);" onclick="javascript:window.location.href='mailto:[email protected]'; return false;">[email protected]</a> 

這樣的話,就可以在單頁面的代碼中,一樣實現通過在頁面上點擊郵箱地址來實現調起本地的郵件客戶端了。

參考

http://hk.uwenku.com/question/p-fcwjdqrl-bnb.html
https://m.yisu.com/zixun/106415.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章