2012-03-19 29 views
5

Tiện ích mở rộng của Chrome sẽ sửa đổi phần tử DOM trước khi DOM được xây dựng hoàn chỉnh và trong trường hợp tốt nhất, ngay sau khi phần tử DOM này được tạo.Tiện ích mở rộng của Chrome: Sửa đổi DOM trước khi tải

Ví dụ, nếu tôi có trong tài liệu của mình, tôi muốn đợi cho đến khi nó được xây dựng, sau đó sửa đổi trực tiếp nó, trước khi phần còn lại của DOM được xây dựng.

Nhưng tôi chỉ quản lý để truy cập DOM trước khi phần tử được tạo và sau khi toàn bộ DOM được tạo.

Vậy làm cách nào để lắng nghe việc xây dựng một yếu tố đặc biệt?

Trả lời

3

Bạn có thể sử dụng document.addEventListener với sự kiện DOMNodeInserted. Các nút sẽ được xây dựng và bạn sẽ có cơ hội sửa đổi chúng trước khi chúng được chèn vào DOM. Một cái gì đó như sau đây sẽ làm việc.

function nodeInsertedCallback(event) { 
    console.log(event); 
}; 
document.addEventListener('DOMNodeInserted', nodeInsertedCallback); 

 

+0

Bạn cũng có thể bao gồm jQuery và sử dụng $ (function() {}) để được chạy sau khi DOM đã được tạo ra, trước khi trang đã được nạp. – jjNford

+0

Cảm ơn sự giúp đỡ của bạn. Sự kiện này được kích hoạt trước khi DOM được xây dựng hoàn chỉnh, nhưng nó không cho phép tôi sửa đổi nội dung DOM trước khi nó được hiển thị. Nó chỉ kích hoạt cho phần tử được thêm tự động bởi các tập lệnh. –

+1

Sự kiện DOMNodeInserted không được chấp nhận. Thay vào đó, hãy sử dụng [Trình theo dõi đột biến] [1]. [1]: https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver – Ignat

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