当客户单击按钮时,我试图在移动Messenger应用上填充SMS正文。我需要填充的文本由简短说明和url链接组成。
这是我尝试做的事情:
const textBody = 'Take a look at my blah blah & blah cart';
const baseurl = window.location.protocol + '//' + window.location.host;
const shareLink = '/share?query1=value1&query2=value2&query3=value3';
const formatedTextBody = encodeURIComponent(textBody) + '%0A%0A' + baseURL + encodeURIComponent(shareLink);
const textLink = 'sms' + ':?&body=' + formatedTextBody;
if (window && window.location) {
window.location.href = textLink;
}
我需要进行encodeURIComponent(text)
来转义文本和链接(查询参数)中的“&”。如果我不这样做,则文本会在第一个“&”处中断,并且不会填充字符串的其余部分。在这种情况下,它只会在SMS正文中填充:“ 看看我等等等等”。在三星手机的大多数情况下,添加encodeURIComponent(text)
可以解决此问题。我拥有这多部手机,并且可以在所有iPhone(Safari和Chrome浏览器)中完美运行,我已经在Google像素手机(Chrome)上进行了尝试,并且可以正常使用,但不适用于任何三星手机(内置浏览器铬)。我已经在s7,note 8,s10 +上尝试过-在所有这些情况下,消息都在第一个'&'处中断(它只是填充:“ 看看我等等等等”)。>
有人可以帮助我,使其在三星设备上运行并确保在所有其他设备上都可以运行。
SMS正文中的预期输出为:
看看我的等等……
https://somedomain.com/share?query1=value1&query2=value2&query3=value3
好,我尝试添加到href时尝试encodeURI
,也尝试尝试decodeURIComponent
,但它们不起作用。