8
votes

jquery 2.0.3 bug - Fadein (), spectacle () brisé à Firefox - SecurityError: L'opération est insécurité

J'ai un élément HTML très basique que je souhaiterais FADEIN () CODE>. J'utilise cependant exiger.js code> donc je crois que cela pourrait faire partie du problème. J'utilise jQuery 2.0.3 Lorsque vous utilisez Fadein code> i Obtenir cette erreur:

$('message-Box').fadeIn(); 


4 commentaires

3 Réponses :


2
votes

Selon Spécification Les éléments personnalisés doivent avoir "-" dans leurs balises, donc Votre balisage devrait ressembler à ceci: xxx

après la modification et les mises à jour de style correspondantes, cela fonctionne aussi loin que je peux dire: http://jsfiddle.net/9frn8/11/


1 commentaires

Je vais essayer cela sur la version de travail, pas la version de violon. L'erreur ne se produit que sur le lien que j'ai donné.



2
votes

On dirait que cela peut être dû aux chemins absolus de votre fichier CSS. Je vois aussi (dans la console) Vous essayez de faire appel à localhost (qui échoue, bien sûr). Il semble y avoir des problèmes dans votre code qui causent Firefox pour arrêter des processus spécifiques. Plus précisément, quelque chose que Firefox considère le domaine croisé.

Ceci est probablement un la même police d'origine problème.


5 commentaires

Humm intéressant, je vais jeter un oeil à cela. Bien que l'appelant cela ne soit pas en train de faire des appels AJAX. $ ('messagebox'). Afficher () vous ne vous attendriez pas à un appel Ajax :)


Pas du tout. Mais votre fichier CSS a également des noms de famille de polices comme: C: \ folder1 \ dossier2 \ \ .....


Très bon point sur l'hôte local, c'est à partir de livereload.js . Je vais enlever ça et voir où cela mène :)


Essayez de regarder également les URL dans votre fichier CSS.


Mis à jour, tous les appels sont du même domaine maintenant ... Voyant toujours l'erreur tristement.



8
votes

Prendre le code JQuery, vous avez finalement touché cette fonction interne ci-dessous. L'erreur de sécurité est lancée lorsque JQuery tente d'écrire sur le document IFrame. JQuery 2.1.0 a une manière différente de déterminer la valeur d'affichage des nœuds par défaut afin que vous puissiez simplement traiter cela comme un bogue Combo JQuery / Browser. Vous pouvez recréer au minimum l'erreur de sécurité en collant les éléments suivants dans la console:

function css_defaultDisplay( nodeName ) {
    var doc = document,
        display = elemdisplay[ nodeName ];

    if ( !display ) {
        display = actualDisplay( nodeName, doc );

        // If the simple way fails, read from inside an iframe
        if ( display === "none" || !display ) {
            // Use the already-created iframe if possible
            iframe = ( iframe ||
                jQuery("<iframe frameborder='0' width='0' height='0'/>")
                .css( "cssText", "display:block !important" )
            ).appendTo( doc.documentElement );

            // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse
            doc = ( iframe[0].contentWindow || iframe[0].contentDocument ).document;
            doc.write("<!doctype html><html><body>");
            doc.close();

            display = actualDisplay( nodeName, doc );
            iframe.detach();
        }

        // Store the correct default display
        elemdisplay[ nodeName ] = display;
    }

    return display;
}


0 commentaires