【问题标题】:how keep entire link如何保持整个链接
【发布时间】:2019-07-03 01:48:12
【问题描述】:

我找到了这段代码并且工作正常,从信使打开 whatsapp 发送预填充的消息。 问题是链接被削减了=

来自 Messenger 的链接运行脚本: https://website.com/ShareonWhatsApp.html?text=Hi%20how%20are%20You!%20https://m.me/7673?ref=test--12345

缺少 =test--12345

<body>
<script type="text/javascript">
    function getQueryVariable(variable) {
        var query = window
            .location
            .search
            .substring(1);
        var vars = query.split("&");
        for (var i = 0; i < vars.length; i++) {
            var pair = vars[i].split("=");
            if (pair[0] == variable) {
                return pair[1];
            }
        }
        return(false);
    }
    function _isMobile() {
        var isMobile = (/iphone|ipod|android|ie|blackberry/i).test(navigator.userAgent.toLowerCase());
        return isMobile;
    }
    if (_isMobile()) {
        location.assign("whatsapp://send?text=" + getQueryVariable("text"))
    } else {
        location.assign("http://web.whatsapp.com/send?text=" + getQueryVariable("text"))
    }
</script>
Please close this window to get back to Messenger

【问题讨论】:

  • 该代码是从使用window.location 的站点运行的。它只是拆分location.search 字符串并测试参数是否与参数之一匹配并返回= 之后的值。如果那不是您的站点window.location 将无法工作,因为它将是另一个 URL,否则请单独使用 location,您甚至可以离开 window,因为它是隐含的。当然,如果您创建了该网站,您可能已经知道您所在的页面。所以...那个代码不是你要找的。​​span>

标签: javascript url whatsapp messenger


【解决方案1】:

您想在 WhatsApp 上发送消息?

//<![CDATA[
/* js/external.js */
var doc, bod, nav, M, I, mobile, WhatMessage; // for use on other loads
addEventListener('load', function(){
doc = document; bod = doc.body; nav = navigator;
M = function(tag){
  return doc.createElement(tag);
}
I = function(id){
  return doc.getElementById(id);
}
mobile = nav.userAgent.match(/Mobi/i);
WhatMessage = function(phone){
  this.phone = phone;
  this.link = function(message, linkText){
    var a = M('a');
    a.textContent = linkText || message;
    a.href = 'https://api.whatsapp.com/send?phone='+this.phone+'&text='+encodeURIComponent(message);
    return a;
  }
}
var wm = new WhatMessage('15551234567'), content = I('content');
content.appendChild(wm.link('See the Message'));
}); // load end
//]]>
/* css/external.css */
*{
  box-sizing:border-box; padding:0; margin:0;
}
html,body{
  width:100%; height:100%;
}
body{
  background:#ccc;
}
#content{
  padding:7px;
}
<!DOCTYPE html>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
  <head>
    <meta charset='UTF-8' /><meta name='viewport' content='width=device-width, height=device-height, initial-scale:1' />
    <title>Test Template</title>
    <link type='text/css' rel='stylesheet' href='css/external.css' />
    <script type='text/javascript' src='js/external.js'></script>
  </head>
<body>
  <div id='content'>
  </div>
</body>
</html>

这在 iframe 上不起作用,此页面加载到此站点上,因此右键单击并在新选项卡中打开,以查看它是否有效。应该在您的网站上工作。

【讨论】:

    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-06
      • 2011-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多