當微信進行自定義分享時,如果標題或描述中有特殊字符,比如雙引號 "等就會導致無法進行自定義分享,甚至不顯示分享按鈕。
解決方式爲:
先將標題或描述放到隱藏域中,並且轉成html實體,再從隱藏域中獲取轉義後的標題和描述即可,
注意:不在隱藏裏轉義爲HTML實體也是不可以的
上代碼:
<input type="hidden" id="share_title" value="{{ htmlspecialchars($article->title) }}">
<input type="hidden" id="share_desc" value="{{ htmlspecialchars(mb_substr($article->abstract, 0, 36)) }}">
wx.ready(function () {
//從隱藏域取標題和描述,可解決標題和描述中有特殊字符時無法分享的問題
var title = $("#share_title").val();
var desc = $("#share_desc").val();
wx.onMenuShareAppMessage({
title : title,
//title : "{{ htmlspecialchars($article->title) }}", 直接在這轉義也不行
desc : desc + "...",
link : "",
imgUrl : "{{ asset($article->img) }}",
success: function () {},
cancel : function () {}
});
});