Bonjour à tous,

J'ai développé/rassemblé une série de bookmarklet que je peux lancer via une commande.
Le bookmarklet est en fait un prompt qui appelle une page sur mon serveur.
Cette page analyse le paramètre et retourne un code javascript.
Ce code est ensuite ajouté à la page courante et exécuté.

Depuis que je suis passé sur Firefox 4, les document.write sont ignorés. J'obtiens le message d'erreur suivant (aucun problème sous Firefox 3) :
A call to document.write() from an asynchronously-loaded external script was ignored.

Je comprend bien que Firefox ignore ce code par sécurité, mais je n'arrive pas à autoriser mon serveur à exécuter ce code (liste blanche)...

Voici un exemple d'un code simple ignoré (qui fonctionne sous Firefox 3). Volontairement collé, c'est telle qu'il est envoyé au bookmarklet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
javascript:function%20splitv(){document.write(%20"<html><head></head><frameset%20cols='50%,*'><frame%20src='%20+%20location.href%20+%20'><frame%20src='%20+%20location.href%20+%20'></frameset></html>"%20);document.close()}%20splitv();
Ce code crée 2 frames verticales et ouvre le même site à double.

Je vous le mets de façon plus compréhensible :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
javascript:function splitv() {
	document.write( "<html><head></head><frameset cols='50%,*'><frame src=' + location.href + '><frame src=' + location.href + '></frameset></html>" );
	document.close()
}
splitv();
Est-ce qu'il est possible d'utiliser une autre commande que document.write afin de faire fonctionner ce code ?
Où connaissez-vous un moyen de contourner cette restriction de Firefox ?

J'ai plusieurs autres scripts bien plus complexe (shell Javascript, environnement de dev javascript) qui fonctionnent de la même manière !

Merci d'avance pour votre aide !