推特有Web 意图事件 https://dev.twitter.com/web/javascript/events for loaded
, rendered
, resize
, tweet
, follow
, retweet
, like
, and click
.
twttr.events.bind(
'tweet',
function (event) {
// Do something there
}
);
The 行为被改变 https://twittercommunity.com/t/forthcoming-change-to-web-intent-events/547182015 年秋季,由于事件完成后发生的回调不可靠。
现在,当用户调用页面中的操作时(而不是操作完成后)将触发它们。
加载 widgets.js 的示例 https://dev.twitter.com/web/javascript/loading:
<script>
// Performant asynchronous method of loading widgets.js
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>
<script>
// Wait until twttr to be ready before adding event listeners
twttr.ready(function (twttr) {
twttr.events.bind('tweet', function(event) {
console.log(event);
});
});
</script>