sur une page Html, j'utilise un morceau de script du genre:
<link rel="stylesheet" href="../styles/styles.css" type="text/css">
...
<script>
var cssRules = IE ? 'rules':'cssRules';
var rules = document.styleSheets[0][cssRules];
</script>
Avec Internet Explorer, aucun problᅵme.
Avec un accᅵs en mode serveur (url du type: http://serveur/...), aucun
problᅵme.
Mon problᅵme est que je dois utiliser cette page en mode local (url du
type: file:///C:/projet/...).
Dans ce contexte, avec Firefox (et peut-ᅵtre Opᅵra ?), je rᅵcupᅵre une
exception:
"Security error" code: "1000" nsresult: "0x805303e8
(NS_ERROR_DOM_SECURITY_ERR)"
Je comprend parfaitement ce type d'erreur quand la feuille de style ne
se trouve pas sur le mᅵme domaine que la page Html. Ce que j'ai plus de
mal ᅵ admettre, c'est que dans le contexte dᅵcrit ci-dessus (en "local"
sur ma machine), je ne puisse effectuer cette requᅵte.
Auriez-vous, SVP, une astuce me permettant de m'en sortir, ou ᅵ dᅵfaut,
une explication convaincante de la chose ?
PS: ...et meilleurs voeux ᅵ tous
--
Cordialement, Thierry ;-)
Pas besoin de 'IE' ...
var regles = document.styleSheets[0];
regles = regles.cssRules? regles.cssRules : regles.rules;
alert(regles.length);
alert(regles[0]);
var regle = regles[0].cssText?
regles[0].cssText : regles[0].style.cssText;
alert(regle);
> </script>
>
> Avec Internet Explorer, aucun problᅵme.
>
> Avec un accᅵs en mode serveur (url du type: http://serveur/...), aucun
> problᅵme.
>
> Mon problᅵme est que je dois utiliser cette page en mode local (url du
> type: file:///C:/projet/...).
> Dans ce contexte, avec Firefox (et peut-ᅵtre Opᅵra ?), je rᅵcupᅵre une
> exception:
Ha! Oui ! Merdum !
Non, avec (mon) Opera 9.6 c'est OK en local
> "Security error" code: "1000" nsresult: "0x805303e8
> (NS_ERROR_DOM_SECURITY_ERR)"
>
> Je comprend parfaitement ce type d'erreur quand la feuille de style ne
> se trouve pas sur le mᅵme domaine que la page Html. Ce que j'ai plus de
> mal ᅵ admettre, c'est que dans le contexte dᅵcrit ci-dessus (en "local"
> sur ma machine), je ne puisse effectuer cette requᅵte.
Serait-ce un bug de Firefox ?
> Auriez-vous, SVP, une astuce me permettant de m'en sortir, ou ᅵ dᅵfaut,
> une explication convaincante de la chose ?
Ils n'ont pas l'air d'ᅵtre au courant de la chose lᅵ ici :
<https://developer.mozilla.org/en/DOM/stylesheet.cssRules>
> PS: ...et meilleurs voeux ᅵ tous
Bonne annᅵe.
--
sm
Oui, oui, je sais, c'ᅵtait pour simplifier...
> var regles = document.styleSheets[0];
> regles = regles.cssRules? regles.cssRules : regles.rules;
>
>
> alert(regles.length);
> alert(regles[0]);
>
> var regle = regles[0].cssText?
> regles[0].cssText : regles[0].style.cssText;
> alert(regle);
>
>> </script>
>>
>> Avec Internet Explorer, aucun problᅵme.
>>
>> Avec un accᅵs en mode serveur (url du type: http://serveur/...),
>> aucun problᅵme.
>>
>> Mon problᅵme est que je dois utiliser cette page en mode local (url
>> du type: file:///C:/projet/...).
>> Dans ce contexte, avec Firefox (et peut-ᅵtre Opᅵra ?), je rᅵcupᅵre
>> une exception:
>
> Ha! Oui ! Merdum !
> Non, avec (mon) Opera 9.6 c'est OK en local
Juste une remarque: j'ai observᅵ que le fait d'avoir
'href="../styles/styles.css"' [1] au lieu de 'href="styles.css"' [2]
fait toute la diffᅵrence. Le cas [1] plante, le cas [2] fonctionne.
Merci en tout cas pour le test avec Opera (si tant est que tu a pu
tester avec le cas [1]).
>> "Security error" code: "1000" nsresult: "0x805303e8
>> (NS_ERROR_DOM_SECURITY_ERR)"
>>
>> Je comprend parfaitement ce type d'erreur quand la feuille de style
>> ne se trouve pas sur le mᅵme domaine que la page Html. Ce que j'ai
>> plus de mal ᅵ admettre, c'est que dans le contexte dᅵcrit ci-dessus
>> (en "local" sur ma machine), je ne puisse effectuer cette requᅵte.
>
> Serait-ce un bug de Firefox ?
C'est bien le sens de mon Post : *est-ce que cette situation est due ᅵ
un bug de Firefox* (auquel cas je survivrais avec) *ou au fait que IE ne
suit pas les recommandations du W3C* (rien trouver de clair ᅵ ce sujet)
???
Cette derniᅵre situation est plus ennuyeuse pour ma pomme car IE (et
Opera ?) est susceptible dans une future version de rᅵagir comme Firefox
ce qui ne marrangerait guᅵre.
>> Auriez-vous, SVP, une astuce me permettant de m'en sortir, ou ᅵ
>> dᅵfaut, une explication convaincante de la chose ?
>
> Ils n'ont pas l'air d'ᅵtre au courant de la chose lᅵ ici :
> <https://developer.mozilla.org/en/DOM/stylesheet.cssRules>
>
>> PS: ...et meilleurs voeux ᅵ tous
>
> Bonne annᅵe.
Merci...
--
Cordialement, Thierry ;-)
Ha !? oui, en effet. Curious...
et le cas [3] avec url en absolu sur le local vers l'autre dossier
ne rᅵsout rien :-(
> Merci en tout cas pour le test avec Opera (si tant est que tu a pu
> tester avec le cas [1]).
Toutafᅵ.
Et pour Safari.4, qui est aussi content du cas [1],
il me semble qu'il prᅵfᅵre qu'on ne lui pose de questions
qu'en fin de chargement (window.onload = ...).
Pas ni pwoblem' non plus avec Camino (versions 1 ou 2)
>>> "Security error" code: "1000" nsresult: "0x805303e8
>>> (NS_ERROR_DOM_SECURITY_ERR)"
>>>
>>> Je comprend parfaitement ce type d'erreur quand la feuille de style
>>> ne se trouve pas sur le mᅵme domaine que la page Html. Ce que j'ai
>>> plus de mal ᅵ admettre, c'est que dans le contexte dᅵcrit ci-dessus
>>> (en "local" sur ma machine), je ne puisse effectuer cette requᅵte.
>>
>> Serait-ce un bug de Firefox ?
>
> C'est bien le sens de mon Post : *est-ce que cette situation est due ᅵ
> un bug de Firefox* (auquel cas je survivrais avec) *ou au fait que IE ne
> suit pas les recommandations du W3C* (rien trouver de clair ᅵ ce sujet) ???
Vu, que de mes brouteurs, seul Fx a ce comportement ...
je crains que ce ne soit une frilositᅵ de sa part,
qu'il ne se mᅵlange les pinceaux avec les prᅵcautions prises avec le
champ 'file' ... ?
Pas essayᅵ Firefox 3.5
(est-il beaucoup utilisᅵ ? relativement ᅵ version 3)
>>> Auriez-vous, SVP, une astuce me permettant de m'en sortir, ou ᅵ
>>> dᅵfaut, une explication convaincante de la chose ?
>>
>>
>>> PS: ...et meilleurs voeux ᅵ tous
>>
>> Bonne annᅵe.
>
> Merci...
--
sm
Essayᅵ avec Firefox 3.5.6 sans succᅵs...
--
Cordialement, Thierry ;-)