window.open 用于 Google 地图 - iPhone 上的灰屏 Google Chrome
Posted
技术标签:
【中文标题】window.open 用于 Google 地图 - iPhone 上的灰屏 Google Chrome【英文标题】:window.open for Google Maps - Gray Screen on iPhone Google Chrome 【发布时间】:2016-10-14 17:32:26 【问题描述】:我有一个链接,我的用户可以点击该链接,使用以下网址在新标签页中打开一个谷歌地图位置:
https://www.google.com/maps?q=123%20W%20Main%20St.%20Dallas%20Texas
我使用 jQuery 打开新标签页:
$(document).on('click','a',function(event)
event.preventDefault();
var hrefValue = $(this).attr('href');
window.open(hrefValue,'_blank');
);
这适用于桌面用户和 iPhone Safari 用户。但在 iPhone Google Chrome 上,如果您安装了 Google Maps 应用程序,它将打开 Google Maps 应用程序(很好),如果您返回网站,它将显示灰屏(不好)。我可以通过选择“选项卡”图标(它不会显示新选项卡,仅显示我已经打开的选项卡)并再次选择相同的选项卡来解决此问题。有什么办法吗?
你可以在这里看到这个工作: https://jsfiddle.net/fnexq36n/2/
我的环境:
iPhone 5s (ios v9.3.2) 谷歌浏览器(最新) 谷歌地图(最新)【问题讨论】:
因为无法发两个链接,所以截图如下:i.imgur.com/Z55iee2.png 为什么不直接添加target属性而不使用jQuery 【参考方案1】:我在 php 代码中遇到了同样的问题,当我更改下面的行时问题就消失了
<a target="_blank" href="http://maps.google.com/maps?q=$latitude,$longitude"> $street $city $country </a> </br></br>"
到
<a href="http://maps.google.com/maps?q=$latitude,$longitude"> $street $city $country </a> </br></br>"
删除target="_blank"
有帮助,但问题出在桌面上,它没有打开新标签。在 iPhone 上,它会打开谷歌地图应用程序。
如果您在代码中删除 _blank
,这也可能有效。
【讨论】:
以上是关于window.open 用于 Google 地图 - iPhone 上的灰屏 Google Chrome的主要内容,如果未能解决你的问题,请参考以下文章
如何在每个循环内的 onclick 中使用 window.open
Chrome ios - iframe:window.open 不适用于 onload 处理程序