Cả hai liên kết này đều có target="_blank"
đối với chúng, vì vậy thông thường chúng sẽ tự động mở trong cửa sổ mới. Ví dụ: liên kết Google Maps trông giống như sau:
<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>
Nhưng có vẻ như PhoneGap đang ghi đè hành vi đó như bạn đã đề cập trong nhận xét. Trong thực tế nếu bạn tìm kiếm:
phonegap target _blank
bạn sẽ tìm thấy khá một chút về chủ đề này, đặc biệt là this discussion và this issue.
Có vẻ như họ muốn mọi người sử dụng số điện thoại InAppBrowser của PhoneGap, nhưng dường như nó được gắn đặc biệt vào chức năng window.open()
. Vì vậy, bạn có thể thử thay đổi href
trong các yếu tố này <a>
để sử dụng cuộc gọi window.open()
thay vì URL đơn giản.
Ví dụ, nếu bạn đã nhận được một tham chiếu đến một trong những <a>
yếu tố trong một biến gọi là link
, bạn có thể thử:
link.href =
"javascript:window.open('" +
link.href +
"', '_blank', 'location=yes');";
Đó thay đổi href
từ:
http://google.com/etc.etc.
đến (trên thực tế tất cả trên một dòng, được định dạng tại đây để dễ đọc):
javascript:window.open(
'http://google.com/etc.etc.',
'_blank',
'location=yes'
);
Một khả năng khác có thể là kỹ thuật trong số this answer sử dụng rel="external"
trên thẻ <a>
và thay đổi trong số MainViewController
. Nhưng điều đó không được chấp nhận và yêu cầu một số lượng tương tự không quan trọng với các phần tử DOM.
Một suy nghĩ khác ... Thông thường, không quan tâm đến các hoạt động bên trong của các bản đồ này và liên kết ToS có thể được coi là vi phạm điều khoản dịch vụ. Tuy nhiên, tôi nghĩ bạn có thể dễ dàng tranh luận ở đây rằng bạn chỉ bảo toàn mục đích ban đầu của các liên kết này khi đối mặt với vấn đề PhoneGap ngăn chúng hoạt động đúng cách.
Cảm ơn câu trả lời. Tôi nhận thấy nó, nhưng vấn đề là khi trang web được đóng gói như một ứng dụng gốc bằng cách sử dụng Phonegap, tất cả các trang mở trong cùng một cửa sổ để mô phỏng một ứng dụng gốc thực sự. Vì vậy, tôi muốn mở nó trong một cửa sổ pop-up hoặc tương tự. – alvarofd