Relation du domaine de la page:
Le domaine A à lequel appartient la page principale a.html: www.vevb.com
Le domaine b auquel appartient la page iframeda b.html: www.jb51.cn, en supposant l'adresse: http://www.jb51.cn/b.html
Réalisez l'effet:
La page A.Html sous le nom de domaine A est intégrée dans la page B.HTML sous le nom de domaine B via un iframe. Étant donné que la largeur et la hauteur de B.HTML sont imprévisibles et changent, la taille adaptative de l'IFRAME en A.HTML est requise.
La nature du problème:
Le problème de JS accédant aux iframes inter-domaines est que pour contrôler la hauteur et la largeur de l'IFRAME en A.HTML, vous devez d'abord lire la taille de B.HTML. A et B n'appartiennent pas au même domaine. Pour des raisons de sécurité, le navigateur restreint l'accès croisé à JS et ne peut pas lire la hauteur et la largeur de B.HTML.
Solution:
La page proxy proxy C.HTML appartient au même domaine A que A.Html. C.HTML est une bonne page proxy intermédiaire fournie dans le domaine A. Supposons que l'adresse de C.HTML est www.vevb.com/c.html, il est responsable de la lecture des valeurs de largeur et de hauteur dans l'emplacement.hash, puis de définir la largeur et la hauteur de l'IFRAME en A.HTML dans le même domaine qu'elle.
Le code est le suivant:
Code a.html
Tout d'abord, B.HTML a été introduit via iframe en A.Html
<iframe id = b_iframe height = 0 ″ width = 0 ″ src = http: //www.jb51.cn/b.html frameborder = no border = 0px marginwidth = 0 ″ marginheight = 0 ″ scrolling = no allattransparincy = yes> </ iframe>
B.HTML Code
Copier le code