Twitter通过Twitter通过Twitter web意图共享自定义文本 - 只能运行一次

时间:2017-05-09 09:25:43

标签: javascript twitter

我遇到以下问题:我已经建立了一个报价生成器(freecodecamp),并且需要能够通过Twitter 引用该报价 。我的方法是通过Twitter web意图,文本是我通过API收到的数据。它只工作一次。

HTML:

<p>Share the wisdom</p>
      <a class="twitter-share-button" href="#" target="_blank">
        <span class="fa-stack fa-lg">
          <i class="fa fa-circle fa-stack-2x"></i>
          <i class="fa fa-twitter fa-stack-1x fa-inverse"></i>
        </span>
      </a>

JS:

    <script>
  function myFunction() {
      var firstName = document.getElementsByName("firstname")[0].value;
      var trumpAPI = "https://api.whatdoestrumpthink.com/api/v1/quotes/personalized?q="+firstName;
      $.getJSON(trumpAPI, function(data, status){
        document.getElementById("trump").innerHTML = data.message;
        $('a[href="#"]').attr("href","https://twitter.com/intent/tweet?text="+data.message+"&hashtags=trump, quoteoftheday");
      });

      document.getElementById("trump").classList.add("border");

  }
</script>

可能是web意图中的text参数不是动态的吗?有任何建议如何解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:0)

我必须猜一点,因为你没有分享你的完整功能,我假设你做的是这样:

  • 你有一个某种按钮,点击它会得到另一个报价。
  • 点击该按钮会调用myFunction()

如果这是正确的,那么问题是你的<a>元素在第一次运行函数后不再有href="#"; href现在是意图链接。因此,$('a[href="#"]')不再在第二次通话中选择该链接。如果您改用$(".twitter-share-button"),它应该有用。