ОБЩАЯ ИНФОРМАЦИЯ:
Используя JavaScript API Twitter , вы можете добавить скрипт в нижний колонтитул и выполнять такие действия, как ретвит, лайк, ответ и т. Д.
JS API:
<script>
window.twttr = (function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0],
t = window.twttr || {};
if (d.getElementById(id)) return t;
js = d.createElement(s);
js.id = id;
js.src = "https://platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js, fjs);
t._e = [];
t.ready = function(f) {
t._e.push(f);
};
return t;
}(document, "script", "twitter-wjs"));
</script>
Он также обеспечивает действие " callback ", как показано ниже:
twttr.events.bind(
'like',
function(event) {
var likedTweetId = event.data.tweet_id;
}
);
Что я пытаюсь сделать:
Для оптимизации Twitter также предоставляет фрагмент js с ограниченными зависимостями.
(function() {
if (window.__twitterIntentHandler) return;
var intentRegex = /twitter\.com\/intent\/(\w+)/,
windowOptions = 'scrollbars=yes,resizable=yes,toolbar=no,location=yes',
width = 550,
height = 420,
winHeight = screen.height,
winWidth = screen.width;
function handleIntent(e) {
e = e || window.event;
var target = e.target || e.srcElement,
m, left, top;
while (target && target.nodeName.toLowerCase() !== 'a') {
target = target.parentNode;
}
if (target && target.nodeName.toLowerCase() === 'a' && target.href) {
m = target.href.match(intentRegex);
if (m) {
left = Math.round((winWidth / 2) - (width / 2));
top = 0;
if (winHeight > height) {
top = Math.round((winHeight / 2) - (height / 2));
}
window.open(target.href, 'intent', windowOptions + ',width=' + width +
',height=' + height + ',left=' + left + ',top=' + top);
e.returnValue = false;
e.preventDefault && e.preventDefault();
}
}
}
if (document.addEventListener) {
document.addEventListener('click', handleIntent, false);
} else if (document.attachEvent) {
document.attachEvent('onclick', handleIntent);
}
window.__twitterIntentHandler = true;
}());
Очевидно, что нет event
привязывается к этому фрагменту.Мне было интересно, если кто-нибудь выяснил, как добавить привязки событий (например, / tweet / retweet / follow action) к нему, как указано выше?
Любые предложения будут высоко оценены.
Спасибо