这两个链接上都有target="_blank",所以通常它们应该会自动在新窗口中打开。例如,Google 地图链接如下所示:
<a target="_blank"
href="http://maps.google.com/maps?..."
title="Click to see this area on Google Maps"
style="position: static; overflow: visible; float: none; display: inline;"
>
<div ...>
<img ...>
</div>
</a>
但正如您在评论中提到的那样,PhoneGap 似乎覆盖了该行为。事实上,如果你搜索:
phonegap target _blank
您会发现很多关于该主题的信息,尤其是this discussion 和this issue。
看起来他们希望人们使用PhoneGap 的InAppBrowser,但它似乎专门与window.open() 函数相关联。因此,您可以尝试将这些<a> 元素中的href 更改为使用window.open() 调用而不是简单的URL。
例如,如果您在名为 link 的变量中获得了对其中一个 <a> 元素的引用,您可以尝试:
link.href =
"javascript:window.open( '" +
link.href +
"', '_blank', 'location=yes' );";
这改变了href:
http://google.com/etc.etc.
to(实际上都在一行上,为了便于阅读,此处已格式化):
javascript:window.open(
'http://google.com/etc.etc.',
'_blank',
'location=yes'
);
另一种可能性可能是this answer 中的技术在<a> 标签上使用rel="external" 并更改MainViewController。但这已被弃用,并且需要对 DOM 元素进行类似数量的摆弄。
另一种想法... 通常,摆弄这些地图和 ToS 链接的内部运作可能会被视为违反服务条款。但是,我认为您在这里可以很容易地争辩说,面对阻止它们正常工作的 PhoneGap 问题,您只是保留了这些链接的原始意图。