Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Atteint de JavaScriptite Aiguë [Cyril Durand]

Expert ASP.net Ajax et WCF, Cyril Durand parle dans son blog de point techniques sur ASP.net, ASP.net Ajax, JavaScript, WCF et .net en général. Cyril est également consultant indépendant, n'hésitez pas à le contacter pour de l'assistance sur vos projets

Actualités

  • Blog de Cyril DURAND, passionné de JavaScript, Ajax, ASP.net et tout ce qui touche au developpement Web Client-Side.

    Consultant freelance, n'hésitez pas à me contacter pour vos projets .net : architecture, accompagnement, formation, ...

    View Cyril Durand's profile on LinkedIn
    hit counters

Atlas, XHTML, SVG et Firefox ...

En ce moment je suis en train de m'amuser avec VML, SVG et Atlas. Je pense que tout le monde connait au moins de nom Atlas, par contre ce n'est peut être pas le cas de SVG et VML.

SVG et VML sont deux langages reposant sur XML permettant de faire du dessin. SVG est un standard du W3C alors que VML a été créé par Microsoft et refusé par le W3C ... pour en savoir plus sur le VML je vous conseille de lire les excellents articles d'Aurélien n'oublié surtout pas de vister cette page où Aurélien a fait un générateur de VML : impressionant ! en ce qui concerne SVG vous trouverez sur cette page quelques exemples.

Vous avez donc compris que VML ne fonctionne que sous IE 5+ alors que SVG fonctionne sous Firefox 1.5, Opéra, Safari ... si l'on veut dessiner sur une page web et faire en sorte que cela fonctionne sur tous les navigateurs il faut gérer les 2 technos : même pas peur :)

Mais voila j'ai un problème. Firefox affiche le dessin SVG seulement s'il utilise le parseur XML pour parser la page plutot que le parseur HTML, c'est à dire qu'il faut envoyer la page avec un content-type application/xhml+xml plutot que le classique text/xml, or si on envoit une page XHTML avec le content-type application/xhtml+xml a Internet Explorer, celui ci affiche la source du document. Il faut donc que je détecte côté serveur le navigateur pour lui envoyer le bon content-type, je n'aime pas du tout ça mais c'est pour la bonne cause.

Le vrai problème est que Atlas n'accepte pas le document XHTML envoyé en tant que application/xhtml+xml.

 

Cette très simple page nous le prouve :

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
script runat="server">
    protected
void Page_Load(Object sender, EventArgs e)
    {
        Response.ContentType =
"application/xhtml+xml";
    }
</script>

<
html xmlns="http://www.w3.org/1999/xhtml">
    <
head runat="server">
        <title>Untitled Page</title>
    </
head>
    <
body>
        <form id="form1" runat="server">
            <atlas:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" />
            <atlas:UpdatePanel ID="panel1" runat="server" >
                <ContentTemplate>
                    <%=DateTime.Now.ToLongTimeString() %>
                </ContentTemplate>
                <Triggers>
                    <atlas:ControlEventTrigger ControlID="timer1" EventName="Tick" />
                </Triggers>
            </atlas:UpdatePanel>
            <atlas:TimerControl Enabled="true" ID="timer1" runat="server" Interval="1000" />
        </form>
    </
body>
</
html>

Si on ne définit pas le content-type alors la page fonctionnera normalement : la date sera mis à jour toutes les secondes. Avec le content-type application/xhtml+xml ou application/xml rien ne se passe ! Le problème vient surement du fait que le DOM de Firefox est différent suivant si c'est un document XML ou HTML.

 

Alors que faire pour réussir à utiliser à la fois Atlas et SVG ? pour l'instant je ne sais pas, mais si l'un d'entre vous a une solution je suis entierement preneur.


Voici quelques adresses qui m'ont aidé à comprendre ce problème :

Sending XHTML as text/html Considered Harmful : http://hixie.ch/advocacy/xhtml
Inline SVG : http://wiki.svg.org/index.php?title=Inline_SVG

Posted: mardi 15 août 2006 16:43 par cyril
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

ATLAS Forum Posts a dit :

Hi, I'm playing with Atlas and SVG, but I have a big problem. If we want to insert inline SVG into HTMLwe
# août 17, 2006 04:11

Cyril 's Blog a dit :

La semaine derniere, j'expliquais que l'on ne pouvais pas utiliser SVG, XHTML et Atlas ensemble &#224; cause...
# août 20, 2006 19:41
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Sortie de Silverlight 2 et de Flash player 10 par Nix's Blog le il y a 10 heures et 2 minutes

- TCB : Que faire en salle blanche ? par The Mit's Blog le il y a 11 heures et 22 minutes

- Debug : Make Object ID - Comment connaitre l'état d'une variable lorsque celle-ci n'est pas accessible dans le scope courant par Atteint de JavaScriptite Aiguë [Cyril Durand] le 10-14-2008, 21:42

- IIS7 : Configuration des handlers pour l'upload de fichier - interdire certains fichiers de s'exécuter | accéder à des fichiers .cs, .aspx par Atteint de JavaScriptite Aiguë [Cyril Durand] le 10-14-2008, 19:49

- Microsoft annonce le nom commercial de Windows 7 par Code is poetry le 10-14-2008, 12:07

- [Silverlight] Téléchargez la version finale (et les outils associés) dès maintenant ! par Thomas Lebrun le 10-14-2008, 10:37

- Vilain bug avec IQueryable et la syntaxe yield : System.BadImageFormatException "An attempt was made to load a program with an incorrect format. (Exce... par Matthieu MEZIL le 10-14-2008, 07:48

- SQL Server 2008 : Un livre en cours de préparation ! par SQL Server vu par Christian Robert le 10-13-2008, 22:56

- IIS7 : à quel pool d'application correspond le processus w3wp.exe par Atteint de JavaScriptite Aiguë [Cyril Durand] le 10-13-2008, 21:59

- PDC 2008 - J-14 ! par Nix's Blog le 10-13-2008, 20:14