Una richiesta di pull come state fuse sul repository github sul 2012-05-31 introducendo la funzione twttr.txt.getTweetLength (testo, opzioni) che sta prendendo in considerazione t.co URL e definito come segue:
twttr.txt.getTweetLength = function(text, options) {
if (!options) {
options = {
short_url_length: 22,
short_url_length_https: 23
};
}
var textLength = text.length;
var urlsWithIndices = twttr.txt.extractUrlsWithIndices(text);
for (var i = 0; i < urlsWithIndices.length; i++) {
// Subtract the length of the original URL
textLength += urlsWithIndices[i].indices[0] -urlsWithIndices[i].indices[1];
// Add 21 characters for URL starting with https://
// Otherwise add 20 characters
if (urlsWithIndices[i].url.toLowerCase().match(/^https:\/\//)) {
textLength += options.short_url_length_https;
} else {
textLength += options.short_url_length;
}
}
return textLength;
};
Così la vostra funzione appena diventato:
function charactersleft(tweet) {
return 140 - twttr.txt.getTweetLength(tweet);
}
Inoltre, per quanto riguarda le migliori pratiche con t.co dobbiamo recuperare i valori short_url_length e short_url_length_https da twitter e passarli come il parametro options nel twttr.txt Funzione .getTweetLength:
Richiedi l'assistenza/configurazione GET una volta al giorno nell'applicazione e memorizza nella cache "short_url_length" (valore di lunghezza massima corrente di t.co) per 24 ore. Cache "short_url_length_https" (la lunghezza massima per i collegamenti t.co basati su HTTPS) e utilizzarla come la lunghezza degli URL basati su HTTPS. Soprattutto sapendo che alcuni cambiamenti nella lunghezza di t.co urls saranno efficaci il 2013-02-20 come descritto nel blog degli sviluppatori di twitter
fonte
2015-12-14 08:50:25
Se si desidera calcolare la lunghezza di 'text', perché non semplicemente' text.length '? – Moin
@Moin Twitter racchiude tutti gli URL in un tweet a t.co URL brevi. Quindi ho bisogno di calcolare la lunghezza del tweet prima di inviarlo a Twitter. – Dharmendra
Stai utilizzando l'ultima versione da qui https://github.com/twitter/twitter-text/tree/master/js/pkg? – morloch