Tôi đã tạo một tập lệnh Greasemonkey chạy tốt trong trình chỉnh sửa firebug, với các chi tiết cụ thể của Greasemonkey đã được gỡ bỏ, nhưng không phải khi tôi cố gắng đóng gói nó như một bản ghi người dùng. Bảng điều khiển lỗi của Firefox đang báo cáo rằng khung nội tuyến mà tôi đang cố gắng sử dụng không được xác định.iframe undefined trong Greasemonkey script
Tôi đã cắt UserScript xuống đến một trường hợp tối thiểu mà nó nên được in html iframe vào bảng điều khiển firebug, và không khi chạy trong trình soạn thảo firebug, nhưng không được làm việc như một UserScript:
// ==UserScript==
// @name Movies
// @include http://*.princecharlescinema.com/*
// @include http://princecharlescinema.com/*
// ==/UserScript==
// stop script loading multiple times
if (top !=self) return;
var iframeHTML = window.frames['iframe2'].document.documentElement.innerHTML;
unsafeWindow.console.log(iframeHTML);
An example page the script is intended for
Nếu đó là của bất kỳ sử dụng các ý chính của kịch bản đầy đủ là tôi thu thập tất cả các thẻ td từ iframe này, nhận được một số thông tin từ họ, và sau đó chèn một số html mới vào một số các thẻ td cùng.
Mọi trợ giúp sẽ được đánh giá cao.
tôi đã cố gắng sử dụng một bộ đếm thời gian dài, nhưng vấn đề không phải là với một số nội dung bên trong iframe không được sẵn sàng, nhưng Greasemonkey là hành động như thẻ iframe thực tế bản thân không tồn tại . – aston
Kiểm tra bộ hẹn giờ dài và xác định khung theo vị trí mảng của nó, [2], thay vì thuộc tính tên của nó làm cho nó hoạt động. DOMFrameContentLoaded là một giải pháp tốt hơn so với một setTimeOut. – aston