2009-09-25 9 views
6

Khi tôi có một hộp thoại JQuery phương thức mở trong IE8, việc sử dụng CPU của tôi đi tới 100% (không, thực ra là 50, nhưng đó là 100% của một lõi). Nếu tôi phá vỡ các công cụ phát triển, có vẻ như đó là rất nhiều thay đổi kích thước sự kiện bắn (Tôi không làm bất kỳ thay đổi kích thước volontary). Có ai khác đã gặp sự cố này và biết cách khắc phục sự cố không?Hộp thoại giao diện người dùng JQuery sử dụng 100% CPU

Trả lời

11

Giải pháp là để thêm video này vào file CSS của bạn:

.ui-widget-overlay { 
    position: fixed; 
} 

reference

+0

Xin lỗi vì đã chấp nhận câu trả lời của riêng tôi, nhưng tôi nghĩ đó là giải pháp tốt nhất. Không được hỗ trợ bởi IE6, nhưng IE6 có một đường dẫn mã khác trong mã jQuery có liên quan (và tôi không biết nếu có vấn đề gì). – erikkallen

+0

Điều này đã sửa nó cho tôi! Sử dụng JQuery 1.6 và giao diện người dùng JQuery 1.8.13. Các hộp thoại Modal gây ra việc sử dụng CPU 100% trong IE7. Nó không thể xác định chiều cao của lớp phủ DIV được sử dụng trong hành vi 'Phương thức'. Việc thêm CSS vào CSS đã khắc phục được sự cố của tôi. Cảm ơn! – Sentient

+0

Đã sửa lỗi cho tôi trên IE7. Bạn là một phao cứu sinh! – Nils

4

Tôi đã nhìn thấy những thứ như thế này xảy ra khi có thứ gì đó đang đổ đầy thùng chứa ở 100% chiều rộng và chiều cao và vùng chứa đó có tràn: tự động. Mà làm cho nó trả lại và không ngừng cố gắng để phù hợp trong container, nhưng sau đó container thêm hoặc loại bỏ thanh cuộn. Không biết liệu điều này có thể áp dụng cho tình huống của bạn hay không, nhưng có thể là tương tự.

+0

Bạn có ý nghĩa gì khi điền vào một vùng chứa? Có xuất hiện thanh cuộn trên tài liệu cho tôi khi tôi bật lên hộp thoại, vì vậy bạn có thể ít nhất là một phần bên phải. Tuy nhiên, cơ thể thậm chí không gần đầy những thứ. – erikkallen

+0

Ý tôi là khi một phần tử bên trong có cùng kích thước với phần tử gốc (hoặc lớn hơn một chút). Nếu bạn thấy thanh cuộn thì có vẻ như điều này đang xảy ra với bạn. Bạn cần phải tìm hiểu phần tử nào đang làm điều này và tạo kiểu cho nó để nó nhỏ hơn phần tử cha. Việc sử dụng CPU là do sự lặp lại lặp lại xảy ra khi thanh cuộn được thêm vào và bị xóa nhiều lần. Bạn có thể xem xét đơn giản là thiết lập cơ thể để tràn: ẩn trong khi hộp thoại xuất hiện, sau đó quay trở lại bất cứ điều gì sau khi nó được đóng lại. – lod3n

+0

Cảm ơn. Giải pháp này hoạt động, nhưng hơi quá cồng kềnh (nghĩ rằng hộp thoại lồng nhau). Tôi sẽ chấp nhận nó nếu không ai nghĩ ra một ý tưởng tốt hơn. – erikkallen

1

Tôi đã có một vấn đề tương tự, IE đã được bắn sự kiện windowResize nhiều lần mỗi giây và maxing ra CPU client. Bản sửa lỗi chi tiết tại đây hoạt động hoàn hảo: http://www.frebsite.nl/projects/windowresizefix/