Tôi đang cố chuyển nhiều thứ từ một trang web bên trong UIWebView trở lại ứng dụng iPhone của tôi thông qua phương thức shouldStartLoadWithRequest của UIWebView.Kích hoạt shouldStartLoadWithRequest với nhiều window.location.href gọi
Về cơ bản, cuộc gọi trang web của tôi window.location.href = "command: // foo = bar" và tôi có thể chặn điều đó trong ứng dụng của tôi không thành vấn đề. Bây giờ nếu tôi tạo một vòng lặp và thực hiện nhiều lệnh gọi window.location.href cùng một lúc, thì shouldStartLoadWithRequest chỉ xuất hiện để được gọi một lần và cuộc gọi nó nhận được là lần cuối cùng của window.location.href ở cuối vòng lặp.
Điều tương tự cũng xảy ra với chế độ xem web dành cho Android, chỉ cửa sổ window.location.href mới được xử lý.
Tôi tìm thấy giải pháp thông minh. Tự động tạo một khung nội tuyến cho mỗi lệnh và đặt src của nó thành "command: // foo = bar", bạn có thể kích hoạt tính năng này nhiều lần trong một vòng lặp và shouldStartLoadWithRequest được gọi mỗi lần! Bây giờ hãy nghiên cứu cách tối ưu hóa điều này. Tôi không nghĩ rằng nó sẽ là tốt để tạo ra hàng ngàn iframe (mặc dù chúng được ẩn). Bất kỳ đề xuất về điều đó? – AlBeebe
Tôi cũng sẽ cố gắng tối ưu hóa mọi cuộc gọi vị trí. Nếu bạn chỉ có thể gửi 60 cuộc gọi nói một phút, hãy đảm bảo rằng bạn đang gây nhiễu mọi cuộc gọi với đủ các vars truy vấn và các đoạn để xử lý nhiều lệnh cho mỗi cuộc gọi. Ngoài ra, bạn có thể muốn kiểm tra wkWebView: http://nshipster.com/wkwebkit/ nó tự động hóa nhiều quá trình này và đáng tin cậy hơn. – newshorts