Valine--修復評論者暱稱跳轉外鏈出錯

一、發現問題

在valine評論list點擊評論者姓名跳轉鏈接出錯:
在這裏插入圖片描述
報錯位置:(F12我定位到vnick這個鏈接標籤的herf屬性出錯,外鏈跳轉需要網址頭的)
在這裏插入圖片描述
查看了Leancloud控制檯這位評論者的評論,只有域名,而不是網址:
在這裏插入圖片描述
valine評論者屬性有:【nick、email、link】 ,這裏herf默認讀取的link屬性;
如果 link 沒有填寫網址頭,那麼href跳轉時是默認本頁面類跳轉;
導致出錯!

二、解決辦法

修改valine.min.js內核:

  1. ctrl+F快速定位到以下內容:

    var p = "", f = e.get("link") || ""; p = f ? '<a class="vnick" rel="nofollow" href="' + f + '" target="_blank" >'
    

    這句話是一個空字段p,f爲 填寫的link鏈接地址;(評論者可以不填寫網址)
    如果 f 鏈接 地址不爲空,就添加<a .. herf="f" >鏈接標籤

  2. 添加以下內容:(一個簡單的正則表達式判斷是否是url,不是則加上http://

    					var the_link = e.get("link")
    					//判斷是否添加http://
    					var pattern = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;  //正則表達式,url
    					var result = e.get("link").match(pattern);//match 是匹配的意思
    					if (result == null) {
    						the_link = "http://" + e.get("link");
    					}
    
    					var p = "", f = the_link || ""; p = f ? '<a class="vnick" rel="nofollow" href="' + f + '" target="_blank" >'
    

    如圖:(注意the_link位置修改)在這裏插入圖片描述
    不是很複雜,但很人性化!

後面打算把我修改後的valine系列整合,發在github或gitee上!
省去大家一點點修改的麻煩。wink~😜
我還打算加一個自定義表情包和隱私模塊!真是前端養成記~😊

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