When developing HTML5 pages for WeChat browser, there may be requirements to disable the share functionality to prevent secondary sharing of links. Here's how to implement this using WeChat's JavaScript SDK:
wx.config({
debug: false,
appId: 'YOUR_APP_ID',
timestamp: TIMESTAMP_VALUE,
nonceStr: 'RANDOM_STRING',
signature: 'GENERATED_SIGNATURE',
jsApiList: [
'hideMenuItems',
'onMenuShareAppMessage',
'onMenuShareTimeline'
]
});
wx.ready(function() {
wx.hideMenuItems({
menuList: [
"menuItem:copyUrl",
"menuItem:editTag",
"menuItem:delete",
"menuItem:originPage",
"menuItem:readMode",
"menuItem:openWithQQBrowser",
"menuItem:openWithSafari",
"menuItem:share:email",
"menuItem:share:brand",
"menuItem:share:qq",
"menuItem:share:QZone",
"menuItem:share:appMessage",
"menuItem:share:timeline"
]
});
});
The code above will hide all sharing-related menu items in WeChat browser. The menu items are categorized into several types:
// Basic functions
"menuItem:exposeArticle" // Report
"menuItem:setFont" // Adjust font size
"menuItem:dayMode" // Day mode
"menuItem:nightMode" // Night mode
"menuItem:refresh" // Refresh
"menuItem:profile" // View public account (added)
"menuItem:addContact" // View public account (not added)
// Sharing functions
"menuItem:share:appMessage" // Send to friends
"menuItem:share:timeline" // Share to moments
"menuItem:share:qq" // Share to QQ
"menuItem:share:weiboApp" // Share to Weibo
"menuItem:favorite" // Favorite
"menuItem:share:facebook" // Share to Facebook
"menuItem:share:QZone" // Share to QZone
// Protection functions
"menuItem:editTag" // Edit tag
"menuItem:delete" // Delete
"menuItem:copyUrl" // Copy URL
"menuItem:originPage" // Original page
"menuItem:readMode" // Reading mode
"menuItem:openWithQQBrowser" // Open in QQ browser
"menuItem:openWithSafari" // Open in Safari
"menuItem:share:email" // Email
"menuItem:share:brand" // Special public accounts