javascript - 微信分享,如何更改转发描述和缩略图?

标签 javascript html wechat

问题

当我的网站页面在微信内共享时,有没有办法提供自定义标题、描述和缩略图?

背景

我们有一个 iPhone 应用程序,用户可以使用微信(也称为微信)与他们的 friend 发布/分享帖子。

从应用程序共享标题、描述和图像时,会通过共享页面的 API 发布(从应用程序共享时,这些内容会根据需要显示)。分享后, friend 们会在微信(而不是我们的应用程序)中打开这些页面。

问题是当 friend 们使用微信自己的分享按钮重新分享我们的页面时,它会丢失我们提供的描述。它将与 HTML 标题标签、页面上的第一张图片(拉伸(stretch)或挤压成方形缩略图)一起重新共享,而最初的描述仅显示页面的 URL。

我曾尝试在描述元标记中提供描述,但没有成功。我什至尝试过 Facebook 风格/开放图表 og:description 元标签。

旁注

我查看了中文网站上的源代码,似乎已经解决了这个问题。我认为使用某种名为 WeixinJSBridge 的 javascript 插件可以解决这个问题。不幸的是,我无法找到任何英文文档 - 我的中文不是很好,我的意思是,我一个字也不会读。

最佳答案

[自从微信发布了新的JS SDK后就没用了]这是微信的解决方案:http://mp.weixin.qq.com/qa/index.php?qa=3163 但是,里面全是中国人。您可以尝试的代码如下:


var imgUrl = 'http://xxx/your-share-icon.png';
var lineLink = 'http://xxx/your-share-link';
var descContent = "your-content-desc";
var shareTitle = 'you-share-title';
var appid = 'your-app-id (from WeChat)';

function shareFriend() {
    WeixinJSBridge.invoke('sendAppMessage',{
                            "appid": appid,
                            "img_url": imgUrl,
                            "img_width": "640",
                            "img_height": "640",
                            "link": lineLink,
                            "desc": descContent,
                            "title": shareTitle
                            }, function(res) {
                            _report('send_msg', res.err_msg);
                            })
}
function shareTimeline() {
    WeixinJSBridge.invoke('shareTimeline',{
                            "img_url": imgUrl,
                            "img_width": "640",
                            "img_height": "640",
                            "link": lineLink,
                            "desc": descContent,
                            "title": shareTitle
                            }, function(res) {
                            _report('timeline', res.err_msg);
                            });
}
function shareWeibo() {
    WeixinJSBridge.invoke('shareWeibo',{
                            "content": descContent,
                            "url": lineLink,
                            }, function(res) {
                            _report('weibo', res.err_msg);
                            });
}
// WeChat browser will initial by above function and trigger WeixinJSBridgeReady event.
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {

        // share to friend
        WeixinJSBridge.on('menu:share:appmessage', function(argv){
            shareFriend();
            });

        // share to timeline
        WeixinJSBridge.on('menu:share:timeline', function(argv){
            shareTimeline();
            });

        // share to weibo
        WeixinJSBridge.on('menu:share:weibo', function(argv){
            shareWeibo();
            });
        }, false);

关于javascript - 微信分享,如何更改转发描述和缩略图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22636071/

相关文章:

javascript - 如何在 Spring Boot + Spring Security 应用程序中配置 CORS?

Javascript 图片幻灯片

javascript - 移动设备/平板电脑上的响应式网站、页眉和页脚宽度问题

微信access_token : invalid appid (error 40013)

wechat - Line和微信如何用href链接?

iOS应用商店因微信登录需要安装应用而被拒绝;手机端可以使用Web View 登录微信吗?

javascript - 接受参数并返回返回该参数的函数的函数

Javascript 此更改值

html - 组织树形图 CSS 拉伸(stretch)时固定宽度

javascript - jQuery - 使用自定义属性查找控件