FWIW, có vẻ như đặc biệt của tôi thời gian chờ đã xảy ra do lỗi javascript trong các trường hợp hiếm hoi. Bạn có thể thử gói JS của bạn trong một thử/bắt hoặc cải thiện nó để được nhiều hơn lỗi khoan dung.
Chi tiết: Tôi đã sử dụng chuỗi JS sau:
NSString* js = @"document.getElementById(\"main\").offsetHeight";
int height = [[_web_view stringByEvaluatingJavaScriptFromString:js] intValue];
tôi biết rằng vấn đề UIWebView điều này có thể xảy ra nếu xem web không nạp đầy đủ (ví dụ JS gọi trước khi webViewDidFinishLoad.: phương pháp, vì vậy tôi đoán rằng có lẽ các đối tượng "chính" đã mất tích vì vậy, tôi sửa đổi JS của tôi như sau và nó làm việc:..
NSString* js = @"document.getElementById(\"main\") ? document.getElementById(\"main\").offsetHeight : -1";
Nguồn
2011-10-25 23:44:08
im làm việc trên một ứng dụng twitter. Chế độ xem web tải trang đăng nhập twitter. Sau khi tôi đã nhập thông tin đăng nhập của mình và nhấp vào "Ủy quyền ứng dụng", trình điều khiển chế độ xem của tôi bị loại bỏ nhưng các nút trên chế độ xem nền bị kẹt –
Bạn có thể đăng bất kỳ mã nào của mình để tôi có thể hiểu rõ hơn về cách bạn đã triển khai mọi thứ không? Ví dụ: bạn có bật/tắt các nút trên chế độ xem theo cách thủ công hay không và liệu bạn có đang sử dụng các phương thức ủy quyền của webView để quản lý điều này không? –
Tôi đã giải quyết được vấn đề. Có một chế độ xem nền không bị xóa sau khi tôi loại bỏ bộ điều khiển chế độ xem phương thức. Dù sao cảm ơn micpringle cho câu trả lời của bạn. –