2011-03-13 7 views
0

Désolé pour le titre approximatif. J'ai un iframe dans mon document. Je veux que sur un événement l'iframe se détruise pour devenir le document parent (principal). Par exemple, exécutant le code suivantconvertir le document iframe en document parent

var el = document.createElement("iframe"); 
el.setAttribute('id', 'ifrm'); 
document.body.appendChild(el); 
el.setAttribute('src', 'http://www.gmail.com'); 

après un certain temps ou après la connexion de l'iframe disparait et prend la place du document principal. Comment puis-je obtenir le même comportement?

Répondre

0

Même si cela est possible grâce à certains hacks javascript complexes, je ne sais pas si cela serait souhaitable. Que se passe-t-il si l'utilisateur appuie sur le bouton de retour, allez-vous maintenant essayer de tout remettre dans un iframe et restaurer votre document original? Je pense que, pour conserver la façon dont la plupart des gens sont habitués et la manière la plus utilisable, il est préférable de rediriger la fenêtre parente vers l'url src que vous souhaitez atteindre.

En outre, une fois qu'un utilisateur navigue quelque part dans un cadre iFrame, vous ne saurez plus où se trouve l'utilisateur à moins qu'il ne se trouve sur votre même domaine. C'est une restriction de sécurité, et il n'y a pas moyen de contourner cela.

qu'en pensez-vous?

//From inside the iframe to set parent to gmail.com 
window.top.location.assign('http://www.gmail.com') 

//From inside the iframe to set parent to the current iframe location 
window.top.location.assign(window.location.href) 

//From the parent document to gmail.com 
window.location.assign('http://www.gmail.com') 

//From the parent document to the iframe location (if iframe is same domain) 
window.location.assign(window.frames[0].location.href) 
Questions connexes