J'ai créé un script Greasemonkey fonctionnant correctement dans l'éditeur de firebug, avec les spécificités de Greasemonkey supprimées, mais pas lorsque j'essaye de l'empaqueter comme un script d'utilisateur. La console d'erreur Firefox signale qu'une iframe que j'essaie d'utiliser n'est pas définie.iframe indéfini dans le script Greasemonkey
J'ai coupé la userscript jusqu'à un cas au moins où il doit être imprimé le code HTML iFrame dans la console Firebug et ne lorsqu'il est exécuté dans l'éditeur de Firebug, mais ne fonctionne pas comme 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
S'il est de toute utilisation l'essentiel du script complet est je collectionne toutes les balises td de cette iframe, obtenir des informations de leur part, puis insérez une nouvelle html dans certains des mêmes balises td.
Toute aide serait appréciée.
J'ai essayé d'utiliser une longue minuterie, mais le problème est pas avec un contenu à l'intérieur de l'iframe ne pas être prêt, mais Greasemonkey Œuvrer comme la balise iframe réelle elle-même n'existe pas . – aston
Le test d'une minuterie longue et l'identification de la trame par sa position de tableau, [2], au lieu de son attribut name l'ont fait fonctionner. DOMFrameContentLoaded est une meilleure solution qu'un setTimeOut. – aston