J'essaye de faire un truc sans doute un peu bizarre mais qui me serait très
pratique :
Soit deux sites : A et B
Je voudrais ouvrir depuis A une popup qui est sur B. Ca, OK.
Depuis la popup, je voudrais aller renseigner un champ de la fenêtre parente
qui est sur A.
Si je le fais en direct, je me prends un problème de droits.
J'ai alors a tout hasard essayé autrement me disant que la première méthode
devait pouvoir permettre de faire des abus, ça doit être une limitation
destinée a protéger l'internaute.
Méthode 2 contournement : Je fais une fonction sur la page hébergée sur A
et je l'appelle depuis la pop-up hébergée sur B.
Même punition : uncaught exception: Permission refusée.
C'est totalement impossible en simple javascript ?
Si c'est le cas, c'est pas grave, j'ai d'autres méthodes possibles (A et B
partagent la même bdd.) mais ça alourdirais je pense les choses.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
O.L.
MP a couché sur son écran :
Bonjour,
J'essaye de faire un truc sans doute un peu bizarre mais qui me serait très pratique :
Soit deux sites : A et B
Je voudrais ouvrir depuis A une popup qui est sur B. Ca, OK.
Depuis la popup, je voudrais aller renseigner un champ de la fenêtre parente qui est sur A.
Si je le fais en direct, je me prends un problème de droits.
J'ai alors a tout hasard essayé autrement me disant que la première méthode devait pouvoir permettre de faire des abus, ça doit être une limitation destinée a protéger l'internaute.
Méthode 2 contournement : Je fais une fonction sur la page hébergée sur A et je l'appelle depuis la pop-up hébergée sur B.
Même punition : uncaught exception: Permission refusée.
C'est totalement impossible en simple javascript ?
Tu peux tourner le problème dans tous les sens, a priori, c'est impossible.
Si c'est le cas, c'est pas grave, j'ai d'autres méthodes possibles (A et B partagent la même bdd.) mais ça alourdirais je pense les choses.
Le seul moyen que je vois est effectivement de passer par un tiers : un cookie (création demandée par B, lecture par A et update du champ), ou une BDD, ou un fichier texte ...
Piste à suivre éventuellement : je me demande si le nom de la fenêtre (window.name) n'est pas une donnée qui reste accessible en lecture/écriture quelle que soit la page et le domaine de cette page. Faudrait essayer de changer window.name à partir de B, et de tester si A voit la modif (et peut donc updater le champ).
J'essaye de faire un truc sans doute un peu bizarre mais qui me serait très
pratique :
Soit deux sites : A et B
Je voudrais ouvrir depuis A une popup qui est sur B. Ca, OK.
Depuis la popup, je voudrais aller renseigner un champ de la fenêtre parente
qui est sur A.
Si je le fais en direct, je me prends un problème de droits.
J'ai alors a tout hasard essayé autrement me disant que la première méthode
devait pouvoir permettre de faire des abus, ça doit être une limitation
destinée a protéger l'internaute.
Méthode 2 contournement : Je fais une fonction sur la page hébergée sur A et
je l'appelle depuis la pop-up hébergée sur B.
Même punition : uncaught exception: Permission refusée.
C'est totalement impossible en simple javascript ?
Tu peux tourner le problème dans tous les sens, a priori, c'est
impossible.
Si c'est le cas, c'est pas grave, j'ai d'autres méthodes possibles (A et B
partagent la même bdd.) mais ça alourdirais je pense les choses.
Le seul moyen que je vois est effectivement de passer par un tiers : un
cookie (création demandée par B, lecture par A et update du champ), ou
une BDD, ou un fichier texte ...
Piste à suivre éventuellement : je me demande si le nom de la fenêtre
(window.name) n'est pas une donnée qui reste accessible en
lecture/écriture quelle que soit la page et le domaine de cette page.
Faudrait essayer de changer window.name à partir de B, et de tester
si A voit la modif (et peut donc updater le champ).
J'essaye de faire un truc sans doute un peu bizarre mais qui me serait très pratique :
Soit deux sites : A et B
Je voudrais ouvrir depuis A une popup qui est sur B. Ca, OK.
Depuis la popup, je voudrais aller renseigner un champ de la fenêtre parente qui est sur A.
Si je le fais en direct, je me prends un problème de droits.
J'ai alors a tout hasard essayé autrement me disant que la première méthode devait pouvoir permettre de faire des abus, ça doit être une limitation destinée a protéger l'internaute.
Méthode 2 contournement : Je fais une fonction sur la page hébergée sur A et je l'appelle depuis la pop-up hébergée sur B.
Même punition : uncaught exception: Permission refusée.
C'est totalement impossible en simple javascript ?
Tu peux tourner le problème dans tous les sens, a priori, c'est impossible.
Si c'est le cas, c'est pas grave, j'ai d'autres méthodes possibles (A et B partagent la même bdd.) mais ça alourdirais je pense les choses.
Le seul moyen que je vois est effectivement de passer par un tiers : un cookie (création demandée par B, lecture par A et update du champ), ou une BDD, ou un fichier texte ...
Piste à suivre éventuellement : je me demande si le nom de la fenêtre (window.name) n'est pas une donnée qui reste accessible en lecture/écriture quelle que soit la page et le domaine de cette page. Faudrait essayer de changer window.name à partir de B, et de tester si A voit la modif (et peut donc updater le champ).
Je voudrais ouvrir depuis A une popup qui est sur B. Ca, OK.
Depuis la popup, je voudrais aller renseigner un champ de la fenêtre parente qui est sur A.
Si je le fais en direct, je me prends un problème de droits.
Que ce soit par popup, par iframe, frame ou même object, on ne peut au grand jamais faire du cros-domain en JavaScript. Il n'y a pas à chercher à tourner le truc, le brouteur et son JS sont touj les plus malins et empècheraont d'analyser la page du site B si on est sur le site A. Ça peut aller jusqu'à des trucs très bêtes du genre : - siteA/dossierA/fichierA.htm qui ne pourra interroger - dossierA.siteA/fichierB.htm
La seule soluce est de passer par du code sur le serveur (le php par exemple peut très bien récupérer des données d'un autre domaine).
C'est totalement impossible en simple javascript ?
Oui, oui, et oui, c'est interdit.
Si c'est le cas, c'est pas grave, j'ai d'autres méthodes possibles (A et B partagent la même bdd.) mais ça alourdirais je pense les choses.
C'est une des choses qui ont mis en vogue Ajax (mélange de JS et code serveur).
Voir Google : js cross-domain
(il y aurait possibilité d'astuce(s) mais ... ) -- sm
Soit deux sites : A et B
Je voudrais ouvrir depuis A une popup qui est sur B. Ca, OK.
Depuis la popup, je voudrais aller renseigner un champ de la fenêtre parente
qui est sur A.
Si je le fais en direct, je me prends un problème de droits.
Que ce soit par popup, par iframe, frame ou même object, on ne peut au
grand jamais faire du cros-domain en JavaScript.
Il n'y a pas à chercher à tourner le truc, le brouteur et son JS sont
touj les plus malins et empècheraont d'analyser la page du site B si on
est sur le site A.
Ça peut aller jusqu'à des trucs très bêtes du genre :
- siteA/dossierA/fichierA.htm
qui ne pourra interroger
- dossierA.siteA/fichierB.htm
La seule soluce est de passer par du code sur le serveur (le php par
exemple peut très bien récupérer des données d'un autre domaine).
C'est totalement impossible en simple javascript ?
Oui, oui, et oui, c'est interdit.
Si c'est le cas, c'est pas grave, j'ai d'autres méthodes possibles (A et B
partagent la même bdd.) mais ça alourdirais je pense les choses.
C'est une des choses qui ont mis en vogue Ajax (mélange de JS et code
serveur).
Voir Google : js cross-domain
(il y aurait possibilité d'astuce(s) mais ... )
--
sm
Je voudrais ouvrir depuis A une popup qui est sur B. Ca, OK.
Depuis la popup, je voudrais aller renseigner un champ de la fenêtre parente qui est sur A.
Si je le fais en direct, je me prends un problème de droits.
Que ce soit par popup, par iframe, frame ou même object, on ne peut au grand jamais faire du cros-domain en JavaScript. Il n'y a pas à chercher à tourner le truc, le brouteur et son JS sont touj les plus malins et empècheraont d'analyser la page du site B si on est sur le site A. Ça peut aller jusqu'à des trucs très bêtes du genre : - siteA/dossierA/fichierA.htm qui ne pourra interroger - dossierA.siteA/fichierB.htm
La seule soluce est de passer par du code sur le serveur (le php par exemple peut très bien récupérer des données d'un autre domaine).
C'est totalement impossible en simple javascript ?
Oui, oui, et oui, c'est interdit.
Si c'est le cas, c'est pas grave, j'ai d'autres méthodes possibles (A et B partagent la même bdd.) mais ça alourdirais je pense les choses.
C'est une des choses qui ont mis en vogue Ajax (mélange de JS et code serveur).
Voir Google : js cross-domain
(il y aurait possibilité d'astuce(s) mais ... ) -- sm