Twitter按钮没有正确推文

时间:2017-01-24 21:54:48

标签: javascript jquery html twitter-bootstrap twitter

我有一个随机引用生成器(http://codepen.io/anon/pen/wgqWgo),在尝试推文时,我得到以下结果:

enter image description here

我没有在我的功能中正确地连接我的引用。作为JavaScript新手,虽然很难说清楚。我已经对此进行了广泛的搜索,似乎无法找到解决方案。

我的HTML:

<div class="row">
                    <div class="col-12 buttons">
                        <a class="twitter-share-button" href="http://twitter.com/share" target="_blank"><button type="button" class="btn btn-outline-danger" onclick="tweetIt()"><i class="fa fa-twitter" aria-hidden="true"></i></button></a>
                        <button type="button" class="btn btn-outline-danger" onclick="newQuote()">Quote</button>
                    </div>
                </div>

  <div class="row">
                    <div class="col-12">
                        <div id="quoteDisplay" class="writing">
                            <!-- Quotes here -->
                        </div>
                    </div>
                </div> 

我的JavaScript:

var quotes = [
    "There is nothing to writing. All you do is sit down at a typewriter and bleed.",
    "Happiness in intelligent people is the rarest thing I know.",
    "The world breaks everyone, and afterward, some are strong at the broken places."
]
function newQuote() {
    var randomNumber = Math.floor(Math.random() * (quotes.length));
    document.getElementById('quoteDisplay').innerHTML = quotes[randomNumber];
};

$(".twitter-share-button").click(function(){
    $(this).attr("href", 'https://twitter.com/intent/tweet?text=' + randomNumber);
  });

1 个答案:

答案 0 :(得分:0)

代码中使用的链接是<a>标记中的链接。

你不想那样。该链接没有传入数据,因此Twitter将URL默认为twitter.com/intent/tweet?url=&original_referer=,这会将文本生成为您来自的URL。 (在你的情况下,这是你的本地)。

由于您使用button

,因此无需将Twitter <a>换成oncick() function.标记

以下代码似乎可以完成您要完成的任务。

首先修改您的HTML,如下所示:

<div class="row">
                    <div class="col-12 buttons">
                         <button type="button" class="btn btn-outline-danger" onclick="tweetIt()">Tweet</button>
                        <button type="button" class="btn btn-outline-danger" onclick="newQuote()">Quote</button>
                    </div>
                </div>

  <div class="row">
                    <div class="col-12">
                        <div id="quoteDisplay" class="writing">
                            <!-- Quotes here -->
                        </div>
                    </div>
                </div> 

您的.js应如下所示:

var quotes = [
    "There is nothing to writing. All you do is sit down at a typewriter and bleed.",
    "Happiness in intelligent people is the rarest thing I know.",
    "The world breaks everyone, and afterward, some are strong at the broken places."
]
function newQuote() {
    var randomNumber = Math.floor(Math.random() * (quotes.length));
    document.getElementById('quoteDisplay').innerHTML = quotes[randomNumber];
};

function tweetIt(){
var randomNumber = Math.floor(Math.random() * (quotes.length));
window.open("https://twitter.com/intent/tweet?text=" + quotes[randomNumber]);
}