2010-02-15 7 views
1

J'utilise jQuery 1.3.2 et je me demandais si je pouvais obtenir de l'aide pour savoir si ce qui suit est réalisable et si oui, comment cela peut-il être fait - les exemples seraient géniaux. Fondamentalement, j'ai une page src iframe qui affiche un rapport à un utilisateur. Maintenant, car il est dans un iframe, il n'y a pas de bannière sur cette page, mais je permets à l'utilisateur de détacher l'iframe dans une nouvelle fenêtre de navigateur en utilisant window.open, afin qu'ils puissent voir plus d'informations. Ma question est, comme j'ouvre la page iframe dans un nouveau navigateur, j'ai besoin de manipuler le html et ajouter, à la partie du corps de la page, une section div, qui contient une bannière. Fondamentalement, dans cette div, j'ai la bannière de mon entreprise (logo et nom), j'ai juste besoin d'un moyen de joindre ceci en haut de la page quand un utilisateur détache la page de l'iframe.Comment ajouter un bloc bannière DIV à une page HTML en utilisant jQuery

J'apprécierais de l'aide sur la façon de procéder.

Merci.

+0

Je me demande, comment faites-vous la chose window.open? Pourriez-vous poster du code s'il vous plaît? Bonne question btw! –

+0

Salut Maxim Z. Fondamentalement, à partir d'un autre thread que j'ai obtenu de l'aide, des gens stackoverflow, je vérifie fondamentalement pour le window.name que j'ai assigné comme second paramètre à la fonction window.open et passe dans mon URL requis, c'est à dire fenêtre .open (new_url, 'dtchWin', 'scrollbars = oui, barre d'outils = non, menubar = non, status = non, resizable = yes'); J'espère que cela t'aides. – tonyf

Répondre

2

Le moyen le plus propre serait d'avoir une classe en html ou une balise body, que vous changez après avoir «déconnecté» iframe. Alors que la page est dans la classe iframe est par exemple 'in-iframe'.

Et vous avez CSS comme:

.in-iframe #banner, .in-iframe #footer { 
    display: none; 
} 

Ainsi, la bannière sera en fait toujours sur la page, mais parfois il sera caché.

IFrame html (lien de note avec point d'ancrage pour iframe):

<iframe src="/report/xxx/#hidebanner"></iframe> 
<a href="/report/xxx/" target="_blank">open report in separate window</a> 

Rapport Page html:

... 
<html> 
... 
<body> 
<script> if (location.hash == '#hidebanner') { $('body').addClass('in-iframe'); } </script> 
... 
+0

Merci Qwerty, mais pourriez-vous donner un exemple sur la façon d'effectuer le basculement entre les classes? Merci. – tonyf

+0

Je devine que Qwerty signifiait ce qui suit: dans votre commutateur window.open, ajoutez ce qui suit: '$ (". In-iframe "). Show();'. –

+0

Salut, je suis toujours confus quant à la façon d'appliquer l'approche de Qwerty? Un exemple détaillé serait le plus apprécié. Merci encore. – tonyf

Questions connexes