2010-10-25 37 views
10

Trong Tiện ích Google Chrome của tôi, tôi có một số Content Script (content.js) và Background Page (background.html). Tôi có kiểm tra context.js cho một từ khóa xuất hiện trên trang. Tuy nhiên, tôi muốn đợi cho đến khi trang được tải hoàn toàn cho đến khi tôi tìm kiếm trang, bởi vì từ khóa có thể xảy ra ở cuối trang.Tiện ích mở rộng của Google Chrome - đợi cho đến khi tải trang

Xem Page action by content ví dụ bánh sandwich (files), đây là những gì tôi đang làm. Nếu bạn tải tiện ích mở rộng, bạn sẽ thấy tiện ích chỉ hoạt động khi từ "bánh sandwich" xuất hiện ở đầu trang.

Trả lời

1

Để thay thế cho biểu hiện của "run_at": "document_end", có thể được áp dụng một tiêu chuẩn javascript xử lý sự kiện tiếp cận. Ví dụ: sự kiện DOMContentLoaded có thể được sử dụng để chạy logic yêu cầu DOM đã tải.

manifest.json

"content_scripts": [ 
     "js": ["content.js"], 
     "run_at": "document_start" 
    } 
] 

content.js

console.log('The extension works'); 
// ... logic that does not need DOM 

function run() { 
    console.log('The DOM is loaded'); 
    // ... logic that needs DOM 
} 

document.addEventListener("DOMContentLoaded", run); 
Các vấn đề liên quan