J'essaie d'insérer un iframe dans le navigateur DOM via JavaScript et souhaitez supprimer la frontière si c'est-à-dire, mais ne peut pas sembler. Je n'ai pas essayé de ne pas être disponible: et P> iframeElement.style.frameBorder = "0";
5 Réponses :
essayer iframeElement.style.bordercollapse = 1; ou iframeElement.style.borderwidth = 0; p>
Le CadreForder attribut existez directement sur le iframe élément, n'est pas une propriété CSS.
Essayez avec : p>
Gah, j'ai fini cela, j'ai fait de plus de recherches et réalisa cette réponse n'est pas tout à fait faux (voir ma réponse à des éclaircissements) mais ne peut apparemment pas supprimer mon bowvote à moins que cette réponse soit modifiée. Désolé.
@Tim: Ne vous inquiétez pas, édité au cas où vous souhaitez supprimer votre bowvote, j'ai ajouté un lien vers l'attribut CadreForder sur la spécification DOM Core Niveau 2 ...
bizarrely, je cherchais une réponse à ce problème même plus tôt aujourd'hui. J'ai trouvé que définir le paramètre cadre code> sur
0 code> fonctionne,
var iframe = document.createElement("iframe");
iframe.frameBorder = 0;
document.body.appendChild(iframe);
+1 très intéressant. IE8 ont toujours le même problème, pouvez-vous croire cela !? L'ajout de FradForder Inline rend le document à ne pas valider plus pour HTML 5 afin que la seule trcik est de l'ajouter via JS comme vous le suggérez.
Essayez ceci. Il trouvera des éléments iframe et supprimera leurs frontières dans IE et d'autres navigateurs (bien que vous puissiez simplement définir un style CSS de «frontière: aucun»; dans les navigateurs non-Ie au lieu d'utiliser JavaScript). Et cela fonctionnera même si utilisé après l'iframe est généré et en place dans le document (par exemple, des iframes ajoutés dans HTML ordinaire et non JavaScript)!
Ceci semble fonctionner car c'est-à-dire crée la frontière, non sur l'élément iframe. Comme vous l'attendez, mais sur le contenu de l'Iframe - après la création de l'IFRAME dans la naissance. ($ @ & * # @ !!! ie !!!) p>
Remarque: la partie IE ne fonctionnera que (bien sûr) si la fenêtre mère et iframe sont de la même origine (même domaine, port , protocole, etc.). Sinon, le script obtiendra des erreurs "accès refusé" dans la console d'erreur IE. Si cela se produit, votre seule option consiste à le définir avant qu'elle ne soit générée, car d'autres ont noté, ou utilisez l'attribut non standard Cadraforder = "0". (Ou laissez simplement laisser regarder fugy - mon option préférée actuelle;)) p>
m'a pris de nombreuses heures de travail au point de désespoir pour comprendre cela ... P>
Profitez. :) p>
Vous devez également utiliser des «commentaires conditionnels» dans le HTML afin d'inclure l'attribut «Cadraforder» uniquement dans IE8:
<!--[if IE 8]> <iframe id="my-iframe" frameborder="0"></iframe> <![endif--> <!--[if gt IE 8]><!--> <iframe id="my-iframe"></iframe> <!--<![endif]-->
+1, avait le même problème, la réponse de Tim était parfaite. Titre a besoin d'une modification, à la manière suivante: JAV S i> RAQUER. Le ferait si je pouvais.
[Ceci] [1] semble fonctionner pour IE8 (c'est-à-dire une telle douleur !!) [1]: Stackoverflow.com/questions/12414525/...