Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/02/2011, 10h13   #1
Invité régulier
 
Inscription : décembre 2008
Messages : 10
Détails du profil
Informations personnelles :
Âge : 26
Localisation : Suisse

Informations forums :
Inscription : décembre 2008
Messages : 10
Points : 7
Points : 7
Par défaut Erreur document.write distant

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 :
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 :
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 !
Scrat66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h41.


 
 
 
 
Partenaires

Hébergement Web