2010-05-13 4 views
6

Disons que j'ai la page Web suivanteComment passer les paramètres url sur un iframe?

www.fake.com/sample.html 

Je pourrais passer des paramètres à cette page Web, comme si

www.fake.com/sample.html?count=10&format=gold 

cette page a un iframe, je voudrais passer tous les paramètres qui la page principale accède à l'iframe inclus. Si la page principale est appelée comme si

www.fake.com/sample.html?count=10&format=gold 

l'iframe dans la page échantillon doit être appelé avec ces mêmes paramters.

<iframe src="www.fake.com/framed_page.html?count=10&format=gold"></iframe> 

Quelle est la meilleure façon de le faire?

+0

Pour votre information, vos barres obliques sont dans le mauvais sens –

+0

fixe les barres obliques. En outre, je n'ai pas accès à un langage côté serveur – Janak

Répondre

4

Dans le javascript du document enfant (framed_page.html), vous pouvez appeler le window.parent.location pour obtenir l'objet de localisation de sample.html. Appelez window.parent.location.search pour obtenir la chaîne de requête

+0

+1, ne connaissait pas 'location.search'. Agréable. –

+0

'http: // stackoverflow.com/questions/523266/how-can-i-get-un-specific-parameter-from-location-search' Mon préféré est la réponse @JustinJohnson. – zipzit

3

La méthode la plus simple et la plus fiable (car elle ne nécessite pas le JavaScript pour fonctionner) serait d'utiliser un langage côté serveur pour composer l'URL iframe correcte à partir de la variable serveur QUERY_STRING.

En PHP:

<iframe src= 
    "www.fake.com\framed_page.html?<?php echo $_SERVER["QUERY_STRING"]; ?>"> 
</iframe> 
+0

C'est ce que j'allais faire, mais il n'y a aucune mention de php dans l'OP. –

+0

Ensuite, la question demande la chaîne de requête dans l'attribut src iframe plutôt que dans la dom iframe. –

+0

@adam oui, il aurait besoin d'être mis dans l'événement 'load' pour travailler avec JS - parfaitement bien, mais ne fonctionnera pas avec JS désactivé de toute évidence, ce qui est le seul inconvénient. Cela dépendra de ce que le PO peut utiliser. –