Nếu sử dụng jQuery Mobile, bạn sẽ trải nghiệm cửa sổ mới khi sử dụng thuộc tính data-ajax = 'false'. Trên thực tế, điều này sẽ xảy ra bất cứ khi nào ajaxEnables bị tắt, bởi và liên kết ngoài, bởi cài đặt $ .mobile.ajaxEnables hoặc bằng cách có thuộc tính target = ''.
Bạn có thể sửa nó bằng cách này:
$("a[data-ajax='false']").live("click", function(event){
if (this.href) {
event.preventDefault();
location.href=this.href;
return false;
}
});
(Cảm ơn Richard Poole về phương thức live () - không hoạt động với bind ())
Nếu bạn đã tắt ajaxEnables trên toàn cầu, bạn sẽ cần bỏ [data-ajax = 'false'].
Điều này khiến tôi mất khá nhiều thời gian để nhận ra vì tôi đang mong đợi nó sẽ là một vấn đề cụ thể của jQuery Mobile trong khi thực tế, chính liên kết Ajax đã thực sự cấm cửa sổ mới.
scope
tham số trongmanifest.json
. Xem câu trả lời của tôi để biết thêm chi tiết. Tôi đã thử nghiệm nó trong iOS 11.3 và nó hoạt động.