Javascript “在twitter上共享”按钮将链接分为几个部分

Javascript “在twitter上共享”按钮将链接分为几个部分,javascript,Javascript,首先,我要感谢所有阅读我的问题并试图提供帮助或至少花时间阅读我的问题的人。 我在谷歌上做了大量的研究,并问了很多关于这个问题,但至今还没有找到答案,所以请原谅我,如果你认为我不应该问这个问题,我希望你不要给我投票 所以我的问题是,我试图在我的网站上添加一个twitter上的共享按钮,该共享运行良好,但它没有获取所有的get变量,而是考虑了sharer链接的其余变量部分 示例:我尝试共享的链接是“https://baakline-lebanon.com/en/spot-details.php?sp

首先,我要感谢所有阅读我的问题并试图提供帮助或至少花时间阅读我的问题的人。 我在谷歌上做了大量的研究,并问了很多关于这个问题,但至今还没有找到答案,所以请原谅我,如果你认为我不应该问这个问题,我希望你不要给我投票

所以我的问题是,我试图在我的网站上添加一个twitter上的共享按钮,该共享运行良好,但它没有获取所有的get变量,而是考虑了sharer链接的其余变量部分

示例:我尝试共享的链接是“https://baakline-lebanon.com/en/spot-details.php?spot=1&l=2“因此,tweet框中显示的链接是”https://baakline-lebanon.com/en/spot-details.php?spot=1并且“&l=2”被视为此共享链接的一部分https://twitter.com/share?url="

以下是我与此部分相关的代码:

                       <li>
                        
                          <a href="" class="twitter-share-button" data-show-count="false" target="_blank">
                            <span class="icon">
                              <i class="fab fa-twitter"></i>
                            </span>
                          </a>
                          
                          <script>
                            var twitterBtn = document.querySelector(".twitter-share-button");

                            function init() {
                              var postUrl = window.location.href;

                              twitterBtn.setAttribute("href", "https://twitter.com/share?url="+postUrl);
                            }
                            init();
                            
                          </script>
                        </li>
  • var twitterBtn=document.querySelector(“.twitter共享按钮”); 函数init(){ var postUrl=window.location.href; twitterBtn.setAttribute(“href”https://twitter.com/share?url=“+姿势); } init();
  • 解决方案:

    我在他们的共享器中检查了facebook url,发现他们正在用RFC 3986标准替换“=”和“&”,所以我做了这个函数,让它替换我url中的这些字符

    var twitterBtn = document.querySelector(".twitter-share-button");
    
                               function myUrlEncode(string) {
                                  var string = string;
                                   
                                  var string = string.replace("&", "%26");
    
                                  return string.replace("=", "%3D");
                                }
    
                                function init() {
                                  var postUrl = encodeURI(window.location.href);
                                
                                  postUrl = myUrlEncode(postUrl);
                                  //twitterBtn.setAttribute("href", "https://twitter.com/share?url="+postUrl);
                                  twitterBtn.setAttribute("href", "https://twitter.com/intent/tweet?url="+postUrl);
                                  
                                }
                                init();
    

    我之前查看过那篇文章,但我无法从中得到明确的答案,这就是为什么我问这个问题:/@ckoala似乎不是重复的,因为他们给出的解决方案没有帮助,也没有得到我需要的结果好吧,谢谢你指出这一点。所以我删除了我的评论。@ckoala谢谢:)