[英]window.open not working as expected on iPad 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': 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
之外声明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');
}
});
});
让我们留一点冗余代码。 安全胜于后悔。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.