我已经开发了一个主要用于手机的网站。
我想允许用户直接从网页共享信息到WhatsApp。
使用UserAgent检测,我可以区分Android和iOS。
我发现,为了在iOS中实现上述功能,我可以使用URL:
href="whatsapp://send?text=http://www.example.com"
我仍在寻找OS为Android时要使用的解决方案(因为上述方法不起作用)。
我猜想这与在Android中使用“意图”有关,但是我不知道如何将其用作href的参数。
我已经开发了一个主要用于手机的网站。
我想允许用户直接从网页共享信息到WhatsApp。
使用UserAgent检测,我可以区分Android和iOS。
我发现,为了在iOS中实现上述功能,我可以使用URL:
href="whatsapp://send?text=http://www.example.com"
我仍在寻找OS为Android时要使用的解决方案(因为上述方法不起作用)。
我猜想这与在Android中使用“意图”有关,但是我不知道如何将其用作href的参数。
Answers:
刚在网站上看到它,现在似乎也可以在具有最新chrome和whatsapp的最新Android上使用!给链接一个新的镜头!
<a href="whatsapp://send?text=The text to share!" data-action="share/whatsapp/share">Share via Whatsapp</a>
今天重新检查了一下(17 日 2015年4月)重新检查:
在iOS 8(iPhone 6,最新版本),Android 5(Nexus 5,最新版本)上对我有效。
它也可以在Windows Phone上使用。
上面的答案有点过时了。虽然这些方法有效,但是通过使用以下方法,您可以将任何文本共享为预定义的数字。以下方法适用于android,WhatsApp Web,IOS等
您只需要使用以下格式:
<a href="https://api.whatsapp.com/send?phone=whatsappphonenumber&text=urlencodedtext"></a>
更新-从现在开始使用(2018年11月)
<a href="https://wa.me/whatsappphonenumber/?text=urlencodedtext"></a>
使用:https : //wa.me/15551234567
不要使用:https : //wa.me/+001-(555)1234567
要创建带有将自动显示在聊天文本字段中的预填充消息的链接,请使用 https://wa.me/whatsappphonenumber/?text=urlencodedtext,其中whatsappphonenumber是国际格式和URL的完整电话号码-encodedtext是URL编码的预填充消息。
示例:https://wa.me/15551234567?text = I'm%20interested%20in%20your%20car%20for%20sale
要创建仅包含预填消息的链接,请使用 https://wa.me/?text=urlencodedtext
示例:https://wa.me/?text = I'm%20inquiring%20about%20the%20apartment%20listing
单击链接后,将显示您可以向其发送消息的联系人列表。
目前,实现此目标非常容易。您只需要在页面上添加以下代码:
<a href="whatsapp://send?text=<<HERE GOES THE URL ENCODED TEXT YOU WANT TO SHARE>>" data-action="share/whatsapp/share">Share via Whatsapp</a>
就是这样。不需要Javascript,也不需要其他。当然,您可以根据需要对其进行样式设置,并包含漂亮的Whatsapp图标。
我在装有Google Chrome的Android设备上对此进行了测试。版本:
它也适用于iOS。我已经在配备Safari的iPhone 5上进行了快速测试,它也可以正常运行。
希望这对某人有帮助。:-)
encodeURIComponent()
send
参数必须如何格式化?目前,我whatsapp://send?text=data:image/png;base64,iVBORw0KGgoAAAANS...
不确定要包含多少前缀...
根据新文档,该链接现在为:
<a href="https://wa.me/?text=urlencodedtext">Share this</a>
如果不起作用,请尝试以下一种方法:
<a href="whatsapp://send?text=urlencodedtext">Share this</a>
最近,WhatsApp在其官方网站上进行了更新,我们需要使用此HTML标签以使其可与移动网站共享:
<a href="whatsapp://send?text=Hello%20World!">Hello, world!</a>
您可以替换text=
以拥有链接或任何文本内容
最新更新
现在您可以使用whatsapp的最新API https://wa.me/
,而无需担心用户代理,该API将做用户代理处理。
在相应的whatsapp客户端(Android / iOS / Webapp)中使用联系人选择选项共享预填充文本:
https://wa.me/?text=urlencodedtext
在各自的whatsapp客户端(Android / iOS / Webapp)中为特定的whatsapp用户打开“聊天对话框”:
https://wa.me/whatsappphonenumber
与特定用户共享预填充文本(在两个上方组合):
https://wa.me/whatsappphonenumber/?text=urlencodedtext
注意事项:whatsappphonenumber
应为国际格式的完整电话号码。以国际格式添加电话号码时,请省略任何零,方括号或破折号。
有关官方文档,请访问 https://faq.whatsapp.com/en/general/26000030
恐怕Android版WhatsApp目前不支持从Web浏览器调用。
我对当前的项目有相同的要求,并且由于找不到任何适当的信息,我最终下载了APK文件。
在Android中,如果要从网络浏览器调用应用程序,则需要定义一个带有android.intent.category.BROWSABLE类别的Activity。
您可以在此处找到有关此信息的更多信息:https : //developers.google.com/chrome/mobile/docs/intents
如果您查看WhatsApp AndroidManifest.xml文件,则类别为BROWSABLE的唯一Activiy就是:
<activity android:name="com.whatsapp.Conversation" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:windowSoftInputMode="stateUnchanged">
<intent-filter>
<action android:name="android.intent.action.SENDTO" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="sms" />
<data android:scheme="smsto" />
</intent-filter>
</activity>
我已经玩了一段时间了,但无法使其正常工作。我得到的最多是从Chrome打开WhatsApp应用程序,但我想不出一种设置消息内容和收件人的方法。
由于WhatsApp团队没有对此进行记录,因此我认为这仍在进行中。看起来将来WhatsApp也将处理SMS。
获得更多信息的唯一方法是联系WhatsApp开发人员团队,这是我所尝试的,但是我仍在等待响应。
问候!
通常,仅使用Java脚本仅在iOS或Android设备上显示Whatsapp链接才有意义:
if (navigator.userAgent.match(/iPhone|Android/i)) {
document.write('<a href="whatsapp://send?text=See..">Share on WhatApp</a>');
}
刚刚用,whatsapp://
对我的超老测试了该方案,就像一个魅力。它似乎只是版本。以来Android 2.3.3
Whats App 2.11.301
Whats App
Whats App
迫使所有人进行更新,因此使用它应该是安全的。
该Whats App
文档还提到了该方案:http : //www.whatsapp.com/faq/en/android/28000012
我现在正在生产站点上使用它,如果收到任何用户投诉,将在此处进行更新。
编辑(11月14日):几周后没有用户投诉。
官方文档说使用:wa.me
。不要使用wa.me
。亲自尝试一下:https : //wa.me/?text= SomeTexttoShare对我来说,结果是:
我们找不到您想要的页面
您似乎正在寻找一个不存在的页面。或者我们可能刚刚删除的页面。无论哪种方式,请返回或确保检查URL,您的拼写并重试。
如果要共享,则必须绝对使用以下两种URL格式之一:
https://api.whatsapp.com/send?text=YourShareTextHere
https://api.whatsapp.com/send?text=YourShareTextHere&phone=123
如果您有兴趣观看跟踪这些URL的项目,请查看我们!:https : //github.com/bradvin/social-share-urls#telegramme
whatsapp://send?text=
无论有没有URL编码,使用对我都有效。仅在iOS上进行过测试
customProtocol://action=?
链接类型,这是正常的。因此,在台式机上什么也做不了。要使用该功能,需要先检测操作系统,然后再为桌面使用一个URL,对于iOS使用另一个URL。但这与OP所要求的完全不同。
根据平台(台式机或移动设备)切换whatsapp共享链接。
无论是否在链接中提供电话号码,此功能都可以使用。
对于手机
vm.LinkTextToShare = 'https://api.whatsapp.com/send?text=' + encodeURIComponent(window.location.href) ;
window.open(vm.LinkTextToShare,"_blank");
对于台式机
vm.LinkTextToShare = 'https://web.whatsapp.com/send?l=en&text=' + encodeURIComponent(window.location.href) ;
window.open(vm.LinkTextToShare,"_blank");
像“ whatsapp:// send?text =“ + encodeURIComponent(您的文本在此处)一样使用它,它肯定会工作。
尝试以这种方式进行:
<a href="https://wa.me/(phone)?text=(text URL encoded)">Link</a>
即使您可以发送消息而无需在链接中输入电话号码:
<a href="https://wa.me/?text=Hello%20world!">Say hello</a>
单击链接后,将显示您可以向其发送消息的联系人列表。
有关更多信息,请访问https://faq.whatsapp.com/en/general/26000030。
祝好运!