Tôi có ứng dụng trình bao bọc đơn giản Cordova trỏ đến trang web bên ngoài mà không xác định bất kỳ chế độ xem nào.Ứng dụng Cordova Wrapper Nơi tải liên kết nội bộ Trong ứng dụng, Liên kết ngoài Tải trong trình duyệt
Tôi muốn tất cả các liên kết nội bộ từ miền đó được nạp bên trong ứng dụng, nhưng tất cả các liên kết bên ngoài (http://twitter.com, vv) phải được nạp trong trình duyệt hệ thống, vì vậy các trang có Back/Forward chức năng.
Trong ứng dụng bình thường có chế độ xem, tôi có thể đặt target='_system'
để tải liên kết trong trình duyệt mặc định hoặc sử dụng các liên kết mở một cách rõ ràng trong chế độ xem trình duyệt web. Thật không may trong trường hợp này tôi không có khả năng chỉnh sửa mã phía máy chủ, vì vậy cần một giải pháp hoạt động trong ứng dụng.
Nếu tôi xác định config.xml
như vậy, thì cả liên kết nội bộ và bên ngoài đều được tải trong ứng dụng.
<content src="http://example.com/" />
<access origin="*" />
<allow-navigation href="*" />
Nếu tôi xác định config.xml
với allow-intent
, sau đó liên kết nội bộ và bên ngoài được mở ra trong trình duyệt hệ thống.
<content src="http://example.com/" />
<access origin="*" />
<allow-navigation href="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
Others có suggested sử dụng tùy chỉnh javascript để ghi đè lên target
-_system
, tuy nhiên kể từ khi tôi không có quan điểm riêng của tôi, tôi thực sự không thể làm điều đó.
Có thể xác định allow-intent
cho cordova-plugin-whitelist theo cách như vậy để bao gồm tất cả các URL không phải là tên miền nội bộ?
Hoặc tôi sẽ cần phải bằng cách nào đó ghi đè shouldStartLoadWithRequest
trong MainViewController
và sau đó gọi [[UIApplication sharedApplication] openURL:url]
?
làm thế nào để bạn đạt được điều này? Một số abc.example.com để được điều hướng trong webview và xyz.example.com trong trình duyệt bên ngoài ! – NitZRobotKoder