具有动态内容和弹出窗口的自定义Twitter按钮

时间:2012-10-11 03:40:22

标签: javascript dynamic twitter xhtml popup

我正在使用以下代码执行我希望它执行的3项操作中的2项,使用自定义Twitter按钮共享动态内容:

<script type="text/javascript">
            // <![CDATA[
            var twtTitle = document.title;
            var twtUrl = location.href;
            var maxLength = 140 - (twtUrl.length + 1);
            if (twtTitle.length > maxLength) {
                twtTitle = twtTitle.substr(0, (maxLength - 3)) + '...';
            }
            var twtLink = 'http://twitter.com/home?status=' + encodeURIComponent(twtTitle + ' ' + twtUrl);
            document.write('<a href="' + twtLink + '" target="_blank"' + '><img src="images/twitter.png"  border="0" alt="Tweet This!" /' + '><' + '/a>');
            // ]]>

        </script>

我想要它做的是在窗口而不是整页视图中弹出。我对脚本的了解有限,所以我不知道在哪里插入适当的弹出代码。

任何帮助?

2 个答案:

答案 0 :(得分:2)

而不是document.write,你需要window.open。确保事件在单击操作中完成,否则弹出窗口阻止程序将停止脚本

<script type="text/javascript">
function fbs_click() {
    var twtTitle = document.title;
    var twtUrl = location.href;
    var maxLength = 140 - (twtUrl.length + 1);
    if (twtTitle.length > maxLength) {
        twtTitle = twtTitle.substr(0, (maxLength - 3)) + '...';
    }
    var twtLink = 'http://twitter.com/home?status=' + encodeURIComponent(twtTitle + ' ' + twtUrl);
    window.open(twtLink);
}
</script>

在您的HTML中添加您的图片代码:

<a href="#" onclick="fbs_click();" ><img src="images/twitter.png"  border="0" alt="Tweet This!"></a>

希望这有帮助

答案 1 :(得分:0)

你可以放置一个ID =&#34; twitPop&#34;在锚上并使用它。

$('#twitPop').click(function(event) {
    var width  = 575,
    height = 400,
    left   = ($(window).width()  - width)  / 2,
    top    = ($(window).height() - height) / 2,
    url    = this.href,
    opts   = 'status=1' +
             ',width='  + width  +
             ',height=' + height +
             ',top='    + top    +
             ',left='   + left;
    window.open(url, 'twitter', opts);
    return false;
});