Oba te linki mają na sobie target="_blank"
, więc normalnie powinny one automatycznie otwierać się w nowym oknie. Na przykład związek Google Maps wygląda następująco:
<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>
Ale wygląda PhoneGap jest przesłanianie to zachowanie jak wspomniano w komentarzu. W rzeczywistości, jeśli szukać:
phonegap target _blank
znajdziesz sporo na ten temat, w szczególności this discussion i this issue.
Wygląda na to, że chcą oni używać telefonu PhoneGap o numerze InAppBrowser, ale wydaje się, że jest on powiązany z funkcją window.open()
. Więc możesz spróbować zmienić href
w tych elementach <a>
, aby użyć połączenia window.open()
zamiast prostego adresu URL.
Na przykład, jeśli dotarłeś odniesienie do jednego z tych <a>
elementów w zmiennej o nazwie link
, możesz spróbować:
link.href =
"javascript:window.open('" +
link.href +
"', '_blank', 'location=yes');";
który zmienia href
od:
http://google.com/etc.etc.
do (w rzeczywistości wszystko w jednym wierszu, sformatowany tutaj w celu uzyskania czytelności):
javascript:window.open(
'http://google.com/etc.etc.',
'_blank',
'location=yes'
);
Inną możliwością może być technika w this answer z użyciem rel="external"
w znaczniku <a>
i zmiana w MainViewController
. Jest to jednak przestarzałe i wymaga podobnej ilości manipulowania elementami DOM.
Jeszcze jedna myśl ... Normalnie, błąkanie się z wewnętrznymi działaniami tych map i linków ToS może być uważane za naruszenie warunków korzystania z usługi. Myślę jednak, że z łatwością można argumentować, że po prostu zachowujesz pierwotną intencję tych linków w obliczu problemu PhoneGap, który uniemożliwia im prawidłowe działanie.
Dzięki za odpowiedź. Zauważyłem to, ale chodzi o to, że strona internetowa jest spakowana jako aplikacja natywna za pomocą Phonegapa, wszystkie strony otwierają się w tym samym oknie, aby symulować prawdziwą natywną aplikację. Więc chcę otworzyć go w wyskakującym okienku lub tym podobnym. – alvarofd