これらのリンクの両方には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
を、簡易URLの代わりにwindow.open()
呼び出しを使用するように変更するとよいでしょう。
あなたはlink
という変数のもの<a>
要素の一つへの参照を得ている場合たとえば、あなたは試してみてください:
link.href =
"javascript:window.open('" +
link.href +
"', '_blank', 'location=yes');";
からhref
を変更します。
http://google.com/etc.etc.
(実際にはすべて1行に表示され、読みやすくするためにここにフォーマットされています)。
javascript:window.open(
'http://google.com/etc.etc.',
'_blank',
'location=yes'
);
this answerの技術は、<a>
タグのrel="external"
とMainViewController
の変更を使用している可能性があります。しかし、これは非難されており、同様の量のDOM要素による手間が必要です。
もう1つの考え...通常、これらのマップとToSリンクの内部動作については、利用規約違反とみなされる可能性があります。ただし、PhoneGapの問題に直面しても、これらのリンクの本来の意図をそのまま維持しているだけで、正しく動作しないことを簡単に主張できます。
お返事ありがとうございます。私はそれに気付いたが、問題は、WebページがPhonegapを使用してネイティブアプリとしてパッケージ化されているので、すべてのページが同じウィンドウ内で開き、実際のネイティブアプリをシミュレートすることだ。だから私はポップアップなどでそれを開きたい。 – alvarofd