gpt4 book ai didi

javascript - Bitly API - 打开新窗口的 JavaScript 函数

转载 作者:行者123 更新时间:2023-11-28 16:07:34 26 4
gpt4 key购买 nike

我正在使用脚本我 found here为我的推文按钮动态生成短链接,它工作得很好,但我似乎唯一不能做的就是创建链接以在新选项卡或最好是弹出窗口中打开。

我已经尝试了脚本的 window.location 部分的几种变体,但到目前为止我还没有运气。如果有人能直接指出我的正确方向,我将不胜感激。

这是我正在使用的脚本...

<script>
var TweetThisLink = {
shorten: function(e) {
// this stops the click, which will later be handled in the response method
e.preventDefault();
// find the link starting at the second 'http://'
var url = this.href.substr(this.href.indexOf('http:', 5));
BitlyClient.shorten(url, 'TweetThisLink.response');
},

response: function(data) {
var bitly_link = null;
for (var r in data.results) {
bitly_link = data.results[r]['shortUrl'];
break;
}
var tweet_text = "Text for the Tweet goes here"

window.location = "http://twitter.com/home?status=" + encodeURIComponent(tweet_text + ' ' + bitly_link + " #Hashtag1 #Hashtag2");

}
}

jQuery('.tweetlink').bind('click', TweetThisLink.shorten);
</script>

提前非常感谢:)

最佳答案

通常你可以这样做window.open:

window.open("http://twitter.com/home?status=" + encodeURIComponent(tweet_text + ' ' + bitly_link + " #Hashtag1 #Hashtag2");

但是,由于您在此之前正在执行 ajax 调用,因此浏览器可能会阻止此窗口弹出窗口,因为 window.open 命令不再与单击相关联 (浏览器允许在 window.open 命令进入非启动“弹出窗口”之前等待一定的时间。

解决方案是首先在单击时打开窗口(在您的缩短功能中):

var win = window.open('about:blank');

然后在您的响应函数中重定向:

win.location = 'http://twitter.com/etc...';

演示:http://jsbin.com/usovik/1

关于javascript - Bitly API - 打开新窗口的 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14276635/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com