xavier_bs@murviel-info.com  

Embed code, iframe, popup, cross-domain JSONP

Les iframes (inline frames) sont des fenêtres qui peuvent être insérées partout dans une page (X)HTML et qui contiennent les données d'un autre site. Le site distant est directement accessible dans la page. Les vidéos youTube par exemple sont insérées dans une page grâce à cette balise.

Les iframes ne sont pas recommandées pour le référencement car le contenu n'est pas analysé par les moteurs de recherche qui considèrent à juste titre que celui-ci vient de l'extérieur. De plus, aucun traitement javaScript ne peut se faire sur une iframe qui n'est pas du même domaine (same-origin policy) si cela n'a pas été autorisé par l'url appelée (allow same-origin).

Les attributs de la balise sont :

De plus, si la page à charger contient une entête X-Frame-Options initialisée à DENY ou SAMEORIGIN, la page ne pourra pas être affichée.

cURL (Client URL Request Library) est une librairie implémentée en PHP permettant de récupérer le contenu d'une ressource mais sans l'éxécution du javaScript.

Parfois, vous pouvez vouloir émettre une requête vers une page externe en récupérant le traitement javaScript. Mais vous vous rendez vite compte que vous ne pouvez pas le faire en raison de la same-origin policy.

Vous avez néanmoins 3 possibilités :

Heureusement, il y a des serveurs proxy gratuits/payant qui effectuent ce travail. Il y a seulement deux limites à cette approche : les cookies ne sont pas transmis, et les demandes d'informations utilisateurs sont refusées.

Whatever Origin est une alternative à AnyOrigin (payant) et permet d'accéder à du contenu sans iframe. D'autres alternatives existent encore : CORS Anywhere, CORS Proxy, CORS Proxy Browser, Ajax Cross Origin