1

我只是分别玩 Facebook 和 Twitter Like & Tweet Button。当我注意到动态附加的 Twitter 按钮不起作用但手动添加的 Anchor 起作用时。为什么会这样?

这是小提琴:小提琴

你可以看到它不起作用。

代码:

$("body").append('<a href="https://twitter.com/share" class="twitter-share-button" data-dnt="true" data-count="none" data-via="SitesTwitter">Tweet</a>');
4

2 回答 2

5

这是因为将链接转换为 twitter 链接的 Javascript 在您使用 javascript 添加新链接之前(可能会加载)被触发:如果您删除 html 中的部分并在添加按钮后在 js 中调用它,它可以工作(或留下它并在添加按钮后调用它)

 $("body").append('<a href="https://twitter.com/share" class="twitter-share-button" data-dnt="true" data-count="none" data-via="SitesTwitter">Tweet</a>');
 ! function(d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0];
        if (!d.getElementById(id)) {
            js = d.createElement(s);
            js.id = id;
            js.src = "https://platform.twitter.com/widgets.js";
            fjs.parentNode.insertBefore(js, fjs);
        }
    }(document, "script", "twitter-wjs");

检查 JsFiddle

于 2013-02-06T08:23:39.177 回答
1

多么有趣。当前的代码实际上对我有用:http ://codepen.io/anon/pen/punfx但我在你的小提琴上遇到了同样的问题。

我认为这是一个时间问题。您必须在twitter-wjs动态添加按钮后注入。我相信这个脚本可能会扫描页面以修改任何具有twitter-share-button类的链接或类似的东西。因此,如果您在执行该脚本后添加按钮,则不会扫描您的链接。

于 2013-02-06T08:20:33.213 回答