Tôi đang thiết lập một UIWebView
để hiển thị nội dung của máy ảnh web thông qua URL truy xuất luồng MPJEG.UIWebView và tiếp tục hoạt động?
Tôi phát hiện ra rằng nếu tôi muốn chuyển sang một máy ảnh khác, có vẻ mượt mà hơn nếu tôi không đặt lại toàn bộ nội dung của UIWebView
, mà thay vào đó hãy thiết lập chức năng javascript trong trang tôi đã nạp vào các nội dung của hình ảnh, như thế này:
<img id='iImage' src='about:blank'>
<script type='text/javascript'>
function show(url)
{
iImage.src = url;
}
</script>
Nếu tôi không làm được điều này, mỗi khi tôi chuyển sang url mới, UIWebView
đi trắng cho một hoặc hai giây cho đến khi nội dung mới đã sẵn sàng để được hiển thị , với đoạn mã trên, nó chỉ thay thế trực tiếp nội dung, không bị mất trắng.
Tuy nhiên, nếu tôi chuyển đổi qua lại giữa hai luồng video, tại một thời điểm nào đó, tôi gặp lỗi trong số UIWebView
và bằng thử nghiệm và lỗi tôi đã phát hiện ra điều này xảy ra lần thứ tư tôi hiển thị cùng một video trong lượt xem. Nếu tôi cố gắng mở 4 video trong tab trình duyệt, thứ 4 bị kẹt trong chu kỳ tải, cho đến khi tôi đóng một trong ba video trước đó.
Điều này dẫn tôi để tin rằng:
- Chiếc máy ảnh trong câu hỏi chỉ có thể phục vụ 3 con suối cùng lúc
- Thay đổi thuộc tính
src
trên thẻ<img...>
không đóng dòng trước
Điều này có thể được liên kết để giữ gìn không? Hệ thống trình duyệt webkit có thể giữ cho các luồng trước tồn tại, mặc dù tôi đã ngừng hiển thị chúng trong thẻ <img...>
không?
Về cơ bản, để tạo lại tôi có thể làm điều này:
- Thiết lập các nội dung nêu trên trong một
UIWebView
- Gọi này 4 lần:
wv.EvaluateJavascript("show(url)")
Trên cuộc gọi thứ 4, tôi nhận được một dấu hỏi màu xanh ở giữa.
Có thể tiếp tục là thủ phạm không? Và nếu có, tôi có thể kiểm soát nó không?
Keep-alive là nghĩa vụ phải cho phép trình duyệt để tái sử dụng một kết nối để có được nội dung bổ sung.Vì vậy, bạn thay đổi URL (tôi giả định cho cùng một tên miền nhưng đường dẫn khác nhau), kết nối trước đó nên được tái sử dụng. Vấn đề của bạn giống như các ổ cắm mới được mở cho mỗi url hình ảnh. Có thể là do lỗi WebKit với MJPEG. Thử thay thế toàn bộ phần tử HTML của hình ảnh và xem điều đó có hữu ích không. –
Vâng, điều đó có hiệu quả, nhưng đó rõ ràng là điều tôi muốn tránh làm. –
Tại sao lại như vậy? Thay đổi yếu tố hình ảnh không nên giới thiệu sự cố bạn đã thay thế tất cả nội dung của chế độ xem web. –