推特报价

时间:2016-09-21 21:54:08

标签: javascript jquery twitter

我编写了一个随机报价生成器,希望能够将报价分享到Twitter。 http://codepen.io/nachamuami/pen/KrRYpY 通过尝试推特函数,它调用整个函数到twitter而不是代码生成的引用。任何指针都将非常感激。

 function getQuote(){
var arrayLength = quoteArray.length; //number of entries in array
var randomValue = Math.floor(Math.random()*arrayLength);
var newQuoteY = quoteArray[randomValue].yiddish;
var newQuoteE = quoteArray[randomValue].translation;

 $('#inYiddish').html(newQuoteY);
 $('#inEnglish').html(newQuoteE);};



 $('#quote-button').click(function(){
             getQuote();           
}); 



$('#twitter-button').click(function(){
           window.open("https://twitter.com/intent/tweet?text=" + getQuote);
        });
});

1 个答案:

答案 0 :(得分:1)

声明

window.open("https://twitter.com/intent/tweet?text=" + getQuote);

实际上是将函数本身附加到URI。 JavaScript通过采用字符串形式进行补偿,在这种情况下,这种形式或多或少是您为getQuote所做的确切声明,尽管是一个字符串。

您可能有以下意思:

window.open("https://twitter.com/intent/tweet?text=" + getQuote());

在这种情况下,您仍然会遇到错误,因为getQuote没有返回值,因此推文只会说undefined。要更正此问题,您需要在getQuote中返回一个字符串。或者,您可以在newQuoteY之外宣布newQuoteEgetQuote,但仍然可以设置window.open("https://twitter.com/intent/tweet?text=" + newQuoteY); 。这将允许类似下面的内容,其中当前显示的Yiddish引用是推特。

 >>> l=[1,2,3]
 >>> l.index(min(l))
 >>> 0
 >>> from operator import itemgetter
 >>> min(enumerate(l),key=itemgetter(1))[0]
 >>> 0