2008-08-31 40 views
5

Sau nhiều giờ gỡ lỗi, có vẻ như trong FireFox, innerHTML của DOM phản ánh những gì thực sự trong đánh dấu, nhưng trong IE, innerHTML phản ánh những gì trong đánh dấu PLUS bất kỳ thay đổi nào được thực hiện bởi người dùng hoặc động (tức là thông qua Javascript).Firefox vs IE: xử lý innerHTML

Có ai khác nhận thấy điều này là đúng không? Bất kỳ công việc thú vị xung quanh để đảm bảo cả hai hành xử theo cùng một cách?

+0

đây là câu hỏi cũ - tại sao 'steve m' chưa chọn câu trả lời? –

Trả lời

9

Tôi đồng ý với Pat. Tại thời điểm này trong trò chơi, viết mã của riêng bạn để đối phó với khả năng tương thích giữa các trình duyệt vì các khung Javascript có sẵn không có nhiều ý nghĩa. Có một khuôn khổ cho hầu hết các hương vị (một số thực sự khá nhỏ) và họ đã tập trung vào thực sự trừu tượng hóa tất cả sự khác biệt giữa các trình duyệt. Họ đang làm WAY nhiều thử nghiệm của nó hơn bạn có khả năng.

Một cái gì đó như jQuery hoặc Yahoo YUI (nghĩ có bao nhiêu người nhấn Javascript của Yahoo trong một ngày và nhiều trình duyệt) chỉ là thử nghiệm đường nhiều hơn bất kỳ đoạn trích nào bạn hoặc tôi nghĩ ra.

11

Tôi sử dụng jQuery .html() để có kết quả nhất quán trên các trình duyệt.

+0

Tương tự ở đây! jQuery là một vị cứu tinh khi làm việc với DOM. –

+0

Vấn đề là jQuery.html() không _not_ tạo ra kết quả nhất quán. Trích dẫn từ phần liên quan của tài liệu jQuery: "Phương pháp này sử dụng thuộc tính innerHTML của trình duyệt. Một số trình duyệt có thể không trả về HTML sao chép chính xác nguồn HTML trong tài liệu gốc. Ví dụ: Internet Explorer đôi khi bỏ dấu ngoặc kép xung quanh các giá trị thuộc tính nếu chúng chứa chỉ ký tự chữ và số. " – merryprankster

1

Sử dụng nguyên mẫu và cú pháp $ ("thisid") thay vì document.getElementById ("thisid") có thể thực hiện thủ thuật cho bạn. Nó làm việc cho tôi.

2

sử dụng thư viện tốt là cách tuyệt vời để tránh xung đột với trình duyệt và jquery là thứ tôi thường khuyên dùng - và nếu bạn gặp sự cố thay đổi các thành phần trong một biểu mẫu cụ thể, jquery tự hào các plugin hữu ích tập trung đặc biệt vào thao tác và đánh giá biểu mẫu.

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