Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 12-08-2008 23:39:53

lethak
Membre
Lieu: France
Date d'inscription: 05-04-2008
Messages: 168

[ZF 1.6+] [help] Dojo require: NS_ERROR_DOM_BAD_URI (cross site xhr)

J'ai voulus tester rapidement dojo sur une de mes appli sous ZF 1.6 (RC1)

et il ce trouve que tous mes javascripts sont sur un serveur (http://static.domain.tld/library/dojo/dojo.js)
tandis que mon application est accessible via un autre domaine (http://soft.domain.tld)

j'ai voulus implémenter cet exemple du dojo campus qui comprend en interne 2 chargement de fichiers du framework Dojo (dijit) via xhr

Code:

  dojo.require("dijit.form.Button");
  dojo.require("dijit.Menu");

au chargement de la page sous FF3, j'obtiens une exception javascript

failed loading http://static.domain.tld/library/dojo/d … /Button.js with error: [Exception... "Access to restricted URI denied" code: "1012" nsresult: "0x805303f4 (NS_ERROR_DOM_BAD_URI)" location: "http://static.domain.tld/library/dojo/dojo/dojo.js Line: 20"]

j'ai compris que cela viens du fait que FF3 (comme expliqué ici) implémente le  "W3C Access Control"

donc en gros il s'agit d'une sécurité des navigateur web, même le bon vieux IE6 ne semble pas apprécier et me sort des alert popup


j'aimerais donc avoir du feedback sur vos implémentation de dojo en utilisant un filer static pour javascript
et pourquoi pas trouver et partager ici la solution si il en existe une autre que de mettre le JS sur le même domaine que l'appli ... (non envisageable dans mon cas)


je n'ai pas trop non plus envie de bricoler une rewrite rule pour apache ... comment faire ?


EDIT:

pistes: http://74.125.39.104/search?q=cache:Uyy … k&cd=3

Dernière modification par lethak (13-08-2008 02:15:44)


IT Dev @Twitter

Hors ligne

 

#2 13-08-2008 00:06:20

lethak
Membre
Lieu: France
Date d'inscription: 05-04-2008
Messages: 168

Re: [ZF 1.6+] [help] Dojo require: NS_ERROR_DOM_BAD_URI (cross site xhr)

Il semble que dans la version 1.2 de dojo (en projet ?) il y ait quelque chose comme

Code:

dojox.io.xhrPlugins.addCrossSiteXhr("http://static.domain.tld/");

mais cela ne semble pas encore en stable ?


IT Dev @Twitter

Hors ligne

 

#3 13-08-2008 01:40:33

lethak
Membre
Lieu: France
Date d'inscription: 05-04-2008
Messages: 168

Re: [ZF 1.6+] [help] Dojo require: NS_ERROR_DOM_BAD_URI (cross site xhr)

Ok j'ai essayé de feinter avec un rewrite

http://soft.domain.tld/static/

Code:

RewriteRule ^static(.*)$ http://static.domain.tld$1 [L,R=301]

dans l'absolue ça fonctionne mais voila que :

Could not load 'dijit.form.Button'; last tried '../dijit/form/Button.js'

je désespère car je pense que la fonction dojo.require ne tiens pas compte du statut HTTP et charge:

Code:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<html><head>

<title>301 Moved Permanently</title>

</head><body>

<h1>Moved Permanently</h1>

<p>The document has moved <a href="http://static.domain.tld/library/dojo/dijit/form/Button.js">here

</a>.</p>

</body></html>

au lieu de charger le résultat de la redirection (http://static.domain.tld/library/dojo/d … /Button.js)

EDIT:

j'ai essayé tous les codes de redirection sans plus de résultats

Dernière modification par lethak (13-08-2008 01:51:12)


IT Dev @Twitter

Hors ligne

 

#4 13-08-2008 02:07:18

lethak
Membre
Lieu: France
Date d'inscription: 05-04-2008
Messages: 168

Re: [ZF 1.6+] [help] Dojo require: NS_ERROR_DOM_BAD_URI (cross site xhr)

Autre piste mais qui n'est pas non plus LA solution:

> Why does Dojo fail to load from file: URLs in Firefox 3?
http://dojotoolkit.org/support/faq/why- … -firefox-3


IT Dev @Twitter

Hors ligne

 

#5 13-08-2008 02:49:32

lethak
Membre
Lieu: France
Date d'inscription: 05-04-2008
Messages: 168

Re: [ZF 1.6+] [help] Dojo require: NS_ERROR_DOM_BAD_URI (cross site xhr)

solution php-proxy:

http://soft.domain.tld/staticproxy?libr … /Button.js

Code:

    public function staticproxyAction()
    {
        $URI ='http://static.domain.tld/'.$_SERVER['QUERY_STRING'];
        $output = @file_get_contents($URI);
        if(count(error_get_last()) > 0 )
        {
            $error = error_get_last();
            die('ERROR: '.$error['message']);
        }
        else
        {
            die($output);
        }
    }

problèmes de header content-type a régler


cette solution a pour ennorme désavantage de ralentir le serveur TANDIS que le but principal d'utiliser un filer static c'est justement d'alleger la charge serveur...hum donc pas viable :p


IT Dev @Twitter

Hors ligne

 

#6 13-08-2008 03:10:01

lethak
Membre
Lieu: France
Date d'inscription: 05-04-2008
Messages: 168

Re: [ZF 1.6+] [help] Dojo require: NS_ERROR_DOM_BAD_URI (cross site xhr)

bon dojo je pense que c'est impossible a appréhender dans mon cas..pas suffisamment bien détaille pour le gars qui débute :p
ca commence a me lourder smile

pourquoi zend les a choisi ? ...-_-


IT Dev @Twitter

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages