Voici le code, pas abrégé (il est shortish):Chargement des scripts externes avec UserScript travaille avec Fx 4, mais échoue dans Fx 3.6
// ==UserScript==
// @name Manga ChapterReader
// @license MIT/X11 + Attribution (passcod)
// @namespace http://www.mangareader.net
// @include http://www.mangareader.net/*
// @description Displays full chapters from MangaReader.net in a simpler interface.
// @author passcod
// @version 10.331
// ==/UserScript==
// version format: y.z
function START(array_of_scripts_to_load, callback) {
document.documentElement.innerHTML = '<head></head><body></body>';
for (i in array_of_scripts_to_load) {
var script = document.createElement('script');
script.src = array_of_scripts_to_load[i];
var evl = new Object();
evl.handleEvent = function (e) {
callback();
};
script.addEventListener('load', evl, true);
document.getElementsByTagName('head')[0].appendChild(script);
}
}
var regular = /mangareader\.net\/[a-z0-9\-]+\/[0-9]+(\/.+)?/i, old = /mangareader\.net\/[0-9\-]+\/([a-z0-9\-]+)\/chapter-([0-9]+)\.htm/i;
if (regular.test(window.location)) {
//START(['http://lib/libstore/jquery.js','http://scrap.book/userscripts/mangareader/index.js'],
START(['http://code.jquery.com/jquery-1.4.2.min.js','https://bitbucket.org/passcod/scrap.book/raw/tip/userscripts/mangareader/index.js'],
function() {
$$$();
});
}
else if (old.test(window.location)) {
var parts = old.exec(window.location);
window.location = 'http://www.mangareader.net/'+parts[1]+'/'+parts[2];
}
Cela fonctionne parfaitement dans Firefox 4.0b7 (Windows) et la nuit (Linux), mais il échoue avec Fx 3.6.x (Rapports de 3.6, 3.6.2 et 3.6.12).
Je ne vois pas pourquoi. Oh, attendez ... J'utilise Scriptish sur Fx 4 ... peut-être que cela a quelque chose à voir?
Mais à part ça, je suis totalement à la perte. Les scripts ne sont pas chargés. Il semble même que la ligne document.documentElement.innerHTML = '...'
ne fonctionne pas ... l'a fait dans Firebug et il efface le document à <html></html>
, mais il ne se passe plus rien par la suite.
Des idées?