Attention ceci n'est pas une révolution et ne permet de contourner qu'un tout petit blocage dû à une tentative de connexion crossdomain en local.
Je me suis en effet aperçu qu'une tentative de connexion à une page en local depuis un html en local avec ajax me retournait un accès refusé justement à cause de la sécurité crossdomain si je ne passais pas par mon serveur en local.
Cette solution permet de contourner ce blocage et permet en réseau, sans serveur web et sans ajax de récupérer des données (ici en json ) par l'intermédiaire d'un page html:
L'astuce consiste en une bidouille avec in iframe.
Et du coup on n'échappe pas au refus d'accès si la page en src de l'iframe est hors domaine, mais on y accès si cela reste sur le reseau.
voici le code html:
ici le fichier texte:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Nouvelle page 1</title> <script type="text/javascript"> function bar(){ var recup=self.parent.foo.document.body.innerHTML.replace(/(^<pre>)|(<\/pre>$)/gi,'') json= eval('('+recup+')') alert(json.two) } </script> </head> <body onload="bar()"> <iframe name='foo' id="foo" src="testjson.txt" width="0" height="0" style="display:none"> </iframe> </body> </html>
ici l'exemple est sur un fichier texte, l'affichage dans l'iframe rajoute des balises pre...
Code : Sélectionner tout - Visualiser dans une fenêtre à part {one:'un',two:'deux'}
JE vais retravailler le code pour qu'il puisse accepter du html...
Partager