Javascript window.open在iPad Safari上未按预期工作
我有以下共享链接功能代码:Javascript window.open在iPad Safari上未按预期工作,javascript,jquery,css,ipad,mobile-safari,Javascript,Jquery,Css,Ipad,Mobile Safari,我有以下共享链接功能代码: longurl = "www.google.com" var newWin = window.open('', share_win_name, 'width=826,height=836') gapi.client.load('urlshortener', 'v1', function() { var request = gapi.client.urlshortener.url.insert({ 'resource': {
longurl = "www.google.com"
var newWin = window.open('', share_win_name, 'width=826,height=836')
gapi.client.load('urlshortener', 'v1', function() {
var request = gapi.client.urlshortener.url.insert({
'resource': {
'longUrl': longurl
}
});
var resp = request.execute(function(resp) {
if (resp.error) {
newWin.location = share_link + encodeURIComponent(longurl)
} else {
newWin.location = share_link + encodeURIComponent(resp.id)
}
});
});
此代码在桌面上工作。但在ipad上,safari
- 将打开一个空白的新选项卡,其中没有任何内容
- 当我转到其他选项卡并返回到此选项卡时,我看到新窗口正在打开 刷新/重新加载
解决方案是什么?只要执行以下操作:
newWin = window.open('', share_win_name, 'width=826,height=836');
您已经创建了一个弹出窗口
与其在前面实例化弹出窗口,不如在范围外声明newWin
变量
在回调函数中,实例化弹出窗口
longurl = "www.google.com"
var newWin;
gapi.client.load(...);
var resp = request.execute(function(resp) {
if (resp.error) {
newWin = window.open( share_link + encodeURIComponent(longurl), share_win_name, 'width=826,height=836');
} else {
newWin = window.open( share_link + encodeURIComponent(resp.id), share_win_name, 'width=826,height=836');
}
});
});
让有一点多余的代码。
安全总比后悔好