2010-11-01 8 views
4

Nous avons un nom de domaine avec deux lettres. C'est un problème avec IE, pour toutes les versions.document.domaine avec un bogue de nom de domaine de 2 lettres dans IE

Le problème est que lorsque nous définissons document.domain="xx.yy" nous obtenons une exception "argument invalide".

Quelqu'un at-il une solution ou une idée sur la façon de contourner ce bug?

Cordialement, Tobias

+0

et si vous essayez document.domain = "xx.yy"; –

+0

Je n'ai simplement pas ajouté cela à l'exemple. Je vais le changer pour clarifier. Le problème est bien connu que IE ne gère pas très bien les domaines à deux lettres. Je veux juste savoir comment contourner cela. – freeall

+0

Êtes-vous Tobias au bas de [cette page] (http://blogs.msdn.com/b/ieinternals/archive/2009/09/19/private-domain-names-and-public-suffixes-in-internet -explorer.aspx);)? –

Répondre

2

Il y a des limites à ce que les domaines peuvent être utilisés en tant que domaine parent partagé pour les scripts inter-documents et le partage des cookies. Ceci est délibéré: sinon, example.co.uk et other-example.co.uk pourraient faire partie du même site co.uk. Les navigateurs ne veulent pas autoriser cela, pour des raisons de confidentialité et de sécurité. Le problème est que le système DNS n'a pas un moyen officiel d'indiquer que co.uk est un domaine alloué par le registre sous lequel des organisations distinctes vivent, mais bit.ly est une organisation unique. C'est encore plus difficile dans certains endroits, comme .jp qui a à la fois des sous-domaines d'organisation directe et des sous-domaines alloués par le registre comme co.jp. Les navigateurs ont donc des règles internes sur les domaines qui devraient être considérés comme «publics» et ne devraient pas être autorisés à partager le contexte de script/credentials, et ces règles doivent être mises à jour lorsqu'il y a de nouveaux TLD et SLD. Les navigateurs plus anciens peuvent ne pas reconnaître les domaines plus récents.

Certains navigateurs prennent leurs informations auprès du Public Suffix List, mais pas IE. IE semble utiliser l'heuristique qui, pour un TLD il ne connaît pas et a un cas particulier pour, un sous-domaine à 2 lettres xx.yy est susceptible d'être un domaine public (comme co.uk, or.jp ou autre) et devrait Ne pas être autorisé à agir en tant que domaine parent partagé. C'est une supposition raisonnable, OMI: mieux vaut 'fail safe'.

Je ne pense pas que vous serez en mesure de l'éviter. Qu'est-ce que vous essayez de faire, pourrait-il y avoir un autre moyen? Pouvez-vous placer tous les scripts de sous-domaines croisés dans un sous-domaine secondaire?

+0

Voir http://blogs.msdn.com/b/ieinternals/archive/2009/09/19/private-domain-names-and-public-suffixes-in-internet-explorer.aspx – EricLaw

+0

@Eric: Hey, je viens d'écrire là. Vous cherchez la réponse à la même question que celle affichée ici. – freeall

+0

Merci de l'avoir éclairci. Sorte de la même information que Eric Law posté. C'est très bon. Nous essayons d'utiliser un sous-domaine pour le réparer, mais jusqu'ici nous n'avons pas pu le faire. Le savez-vous? Est-ce qu'un cadre sur le domaine www.xx.tt sera capable de communiquer avec yyy.www.xx.tt? – freeall