J'ai une configuration typique pour le domaine croisé.Cross Domain JavaScript avec DHTML HTC
site1.company.com
site2.company.com
Application principale est en cours d'exécution hors de site1.company.com. Essayer d'obtenir une communication entre la trame parent de site1 et la trame enfant de site2
Le site 1 et le site 2 définissent respectivement document.domain = 'company.com';
La communication fonctionne très bien dans les deux sens, Toutefois, la trame parent de site1 n'était plus en mesure de communiquer avec le reste de l'application site1 en raison de la même stratégie d'origine. J'ai ajouté la même propriété document.domain à chaque page Web du site1.
Le problème auquel je suis confronté est que tous nos 20 fichiers HTC ne fonctionnent plus. J'ai essayé de placer le document.domain dans la balise de script sur le HTC mais ceci a jeté un message d'accès refusé.
Si vous tentez d'utiliser le HTC sans document.domain, la même stratégie d'origine échoue et les appels javascript HTC rejettent l'accès refusé.
Y at-il quelque chose de spécial que je dois faire pour activer document.domain dans un fichier HTC? Est-ce faisable?
Essayé de mettre en œuvre cela, principalement en utilisant la connexion socket, Cependant, cela semblait très sensible à la synchronisation, n'a pas pu passer des messages de manière fiable. – Keibosh
Ensuite, vous devez utiliser le mauvais - la pile de transport garantit la livraison. Avez-vous créé les objets easyXDM * avant que le DOM soit entièrement chargé? En outre, y a-t-il eu des erreurs signalées? –
Aucune erreur n'a été levée, c'était comme si la connexion n'était tout simplement jamais établie, je vois le code onReady s'éteindre mais rien n'est jamais reçu à l'autre bout. Je pense que cela peut avoir quelque chose à voir avec le cadre de notre application. Toutes les fenêtres de notre application sont traitées par un HTC, je pense que cela cause le problème. – Keibosh