Tôi đang cố chuyển đổi giữa tải các trang web khác nhau bằng cách ẩn webView trong khi đang tải trang. Tuy nhiên, tôi thấy rằng một số trang web chuyên sâu hình ảnh đang khiến webViewDidFinishLoading kích hoạt quá sớm và khi tôi hiển thị webView tại thời điểm đó, sau đó trong một giây, bạn sẽ thấy được trang trước đó. Bất kỳ ý tưởng về cách giải quyết này?webViewDidFinishLoad: Kích hoạt quá sớm?
12
A
Trả lời
4
Nếu có Javascript trên trang, bạn có thể cần đợi cho đến khi hoàn thành. Cách đơn giản nhất có vẻ là để gửi một số javascript để trang để được thực thi:
-(void) webViewDidFinishLoad:(UIWebView *)webView
{
NSString *javaScript = @"<script type=\"text/javascript\">function myFunction(){return 1+1;}</script>";
[webView stringByEvaluatingJavaScriptFromString:javaScript];
// done here
}
Có nói rằng, tôi dường như vẫn thấy trường hợp webview là không hoàn toàn được cập nhật trong vòng webViewDidFinishLoad.
3
Tôi cũng gặp sự cố này. Mặc dù tôi đã không tìm thấy một giải pháp, tôi đã làm việc xung quanh vấn đề bằng cách giới thiệu một sự chậm trễ 0,5 giây trước khi hiển thị UIWebView khi phương thức ủy nhiệm webViewDidFinishLoading được gọi.
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
[self performSelector:@selector(displayWebView) withObject:nil afterDelay:0.5];
}
Các vấn đề liên quan
- 1. Trình kích hoạt cảnh báo đang chờ xử lý quá sớm
- 2. mapViewDidFinishLoadingMap: gọi quá sớm
- 3. C++ dài tràn quá sớm
- 4. FormsAuthenticationTicket hết hạn quá sớm
- 5. $ (tài liệu) .ready() cháy quá sớm
- 6. Phiên PHP hết hạn quá sớm
- 7. Nhân Linux: udelay() trả về quá sớm?
- 8. Mediaplayer Cắt âm thanh quá sớm
- 9. Còn quá sớm để sử dụng HTML5
- 10. Force setTimeout để kích hoạt tải trọng của nó sớm hơn thiết lập ban đầu
- 11. Firefox gọi hàm setTimeout quá sớm (hoặc Date.getTime() bị tắt?)
- 12. Sự kiện tải trọng SVG được gọi là quá sớm?
- 13. Lỗi Tkinter Python, "Quá sớm để tạo hình ảnh"
- 14. Thời gian Joda chuyển đổi thời gian 'quá sớm'
- 15. Trì hoãn chế độWillAppear cho đến khi webViewDidFinishLoad
- 16. Kích thước JFrame quá nhỏ
- 17. Kích hoạt cửa sổ
- 18. Cách phát hiện lối ra sớm từ pthread_create mà không bị chặn quá lâu?
- 19. TransactionScope Hoàn thành sớm
- 20. Ghi đè kích hoạt JavaScript
- 21. Phiên PHP hết hạn sớm
- 22. Trình kích hoạt trình kích hoạt trong Jenkins theo EMAIL
- 23. Nhận giá trị kích hoạt trình kích hoạt Oracle
- 24. Quartz không kích hoạt trình kích hoạt đơn giản
- 25. Lỗi kích hoạt sự kiện tùy chỉnh kích hoạt JQuery
- 26. Kích hoạt trong baseclass không được kích hoạt?
- 27. Android: Quá trình gốc kích hoạt luồng tràn tham chiếu sau một thời gian (android-ndk)
- 28. Nhận pid của quá trình đã kích hoạt một số tín hiệu
- 29. Tại sao các tệp thi hành Haskell/GHC quá lớn trong việc kích hoạt?
- 30. Mức ngăn xếp quá sâu trong các cuộc gọi lại đang kích hoạt
Đã gặp phải vấn đề này. Javascript không thực sự sẵn sàng khi sự kiện đã được kích hoạt:/ – Danra
Tôi cũng đang đấu tranh với điều này và nghi ngờ rằng mặc dù tất cả nội dung có thể đã được tải, trang có thể chưa được hiển thị. Vì vậy, bạn sẽ thấy trang cũ trong một giây. Trong trường hợp của tôi, không có Javascript nhưng tấn và tấn CSS và một tải trọng lớn của HMTL. – brainjam