2012-11-30 29 views
7

Ứng dụng iOS 6 iPad hiển thị nội dung trong hai UIWebViews. Nếu cả hai chế độ xem web chứa một trình xoay hình ảnh jquery, chỉ một lần quay sẽ hoạt động tại một thời điểm. Chạy < iOS 6, cả hai đều hoạt động bình thường.iOS 6 nhiều UIWebViews: Javascript chỉ chạy trong một

Nếu nội dung của chế độ xem web không hoạt ảnh được tải lại, nó sẽ bắt đầu hoạt động và điểm còn lại sẽ dừng lại. Ngoài ra, trong chế độ mô phỏng CHỈ, đôi khi tôi có thể khiến chế độ xem web đã dừng bắt đầu (và chế độ xem khác để dừng) bằng cách nhấp/kéo vào trong đó.

Nếu một trong các chế độ xem web KHÔNG có javascript trong đó, việc tải lại chế độ xem web đã dừng sẽ không dừng hoạt động của chế độ xem khác.

Suy nghĩ đầu tiên của tôi là vấn đề trọng tâm, nhưng bit cuối cùng dường như bác bỏ điều đó và chỉ ra một số loại ô nhiễm giữa hai lượt xem web. Hai máy quay có cùng bộ chọn và các tập lệnh js giống nhau, nhưng các tệp js được lưu trữ cục bộ và được đổi tên thành duy nhất để loại bỏ mọi bước đệm trong quá trình lưu vào bộ nhớ cache.

Tôi không thể tìm thấy bất kỳ nội dung nào trong ghi chú phát hành iOS 6 để mô tả thay đổi tập trung giữa các UIWebView khác nhau.

Lượt xem web nằm trong XIB, nhưng không phải là anh chị em của cùng một phụ huynh UIView.

Hành vi mong muốn là không phải lượt xem web nào cũng chuyển sang chế độ ngủ.

+0

Bạn không chắc chắn mình sẽ có may mắn về điều này. Tôi nghe thấy những thay đổi sâu rộng đã được thực hiện cho các công cụ Javascript trong iOS 6. Nó được coi là một thành công bởi vì, chức năng, không ai nhận thấy một sự khác biệt. Có một, mặc dù khó hiểu, tham chiếu đến công việc đã được thực hiện ở đây: http://en.wikipedia.org/wiki/IOS_6 Khi trên trang tìm kiếm Javascript. – TheBasicMind

Trả lời

1

JavaScript hoạt động trong nhiều UIWebView nhưng nó phụ thuộc vào JavaScript. Việc sử dụng JQuery hoặc mã JavaScript bên ngoài khác có thể là một vấn đề trong trường hợp bạn liên kết nó với một href. Bạn có thể giải quyết những vấn đề này bằng cách sao chép mã của tất cả các thư viện JavaScript bên ngoài vào HTML của trang web của bạn. Đây là lý do tại sao JavaScript đơn giản hoạt động tốt. Ví dụ:

Screenshot of JavaScript in multiple web views

Đây là một UITableView với một UIWebView trong mỗi UITableViewCell. Trong webViewDidFinishLoad tôi làm [webView stringByEvaluatingJavaScriptFromString:@"document.write('hey hallo'+new Date().getTime())"];

1

Bạn đã thử đặt một WebView kích thước của 3 webViews của bạn và sử dụng 3 iFrames bên trong 1 UIWebView tải mỗi trang đã bật javascript chưa?

+0

Có, nhưng tôi có vấn đề với việc định vị các trang đó, vì chúng chứa hai nửa của một hình ảnh hai trang lớn. –

+0

@pro_metedor hmm ... Oh Nếu ... Được rồi, vậy hãy làm cho UIWebView của bạn lớn gấp đôi sau đó làm cho iFrame lớn gấp đôi (điều chỉnh vị trí bằng CSS) rồi dán toàn bộ UIWebView vào UIScrollView và phóng to 0,5 (50%) vì vậy UIWebView trở lại kích thước bình thường nhưng nội dung nhỏ gấp hai lần nên tất cả đều phù hợp. :) Boo-yah! –

+0

@pro_metedor CSS nên định vị chúng tốt! Thực sự :) –

Các vấn đề liên quan