Supprimer les target _blank

Eléphanteau du PHP | 14 Messages

13 févr. 2005, 12:36

Bonjour,

J'aimerai savoir comment faire pour qu'avant l'ouverture d'un site dans une frame, on supprime tous les target=_blank.

Code supprimé pour cause de copiage.
Modifié en dernier par ericdebra le 06 janv. 2006, 11:18, modifié 1 fois.
Cordialement, Eric Debra.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

13 févr. 2005, 12:42

Tu peux réexpliquer le problème?
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 14 Messages

13 févr. 2005, 12:49

En gros :
Il y a une liste de bannières, la personne clique, et au moment de cliquer je voudrai que tous les target _blank présents dans la page qui va charger soit supprimés ...

J'espère que c'est plus compréhensible ...
Cordialement, Eric Debra.

Administrateur PHPfrance
Administrateur PHPfrance | 149 Messages

13 févr. 2005, 13:33

J'espère que c'est plus compréhensible ...
Non mais on va décanter :)
En gros :
Il y a une liste de bannières, la personne clique, et au moment de cliquer je voudrai que tous les target _blank présents dans la page qui va charger soit supprimés ...
les target blank c'est pas dans des pages, c'est dans les <a href> <Link> <area> et <FORM>.
Ceux-ci même où on clique pour aller sur une cible.

Quand tu cliques sur le lien le target de CE lien est pris en compte pour savoir où afficher la cible.

il existe plusieurs cibles magique, les autres sont des cibles nommées

les magiques
_self
_top
_parent
_blank

Les nommées
nom arbitraire commencant par une lettre.
--
Moosh - ancêtre de la communauté
http://www.phpfrance.com

Eléphanteau du PHP | 14 Messages

13 févr. 2005, 13:36

Oui lol et moi je souhaite qu'avant qu'une url s'ouvre dans la frame du bas,
elle soit scannée et que les target _blank ou autres soit supprimés ... enfin je ne sais pas comment faire mais je veux supprimer les targets de la page qui va s'ouvrir.

Merci d'avance ;)
Cordialement, Eric Debra.

Eléphant du PHP | 67 Messages

13 févr. 2005, 15:26

Hello, je suis pas sur non plus d'avoir tous saisi, mais tu peux essayer de modifier le target via JavaScript. (d'après SELFHTML la propriété 'target' de la balise A est modifiable... j'ai pas testé)

Essaye d'accéder à l'élément par un petit GetElementById() ou par GetElementByName().

A tester.
Modifié en dernier par crab le 13 févr. 2005, 16:10, modifié 1 fois.

Eléphanteau du PHP | 14 Messages

13 févr. 2005, 15:55

je viens d'essayer mais ça ne marche pas ...
Si un programmeur sait comment faire ... Merci d'avance ! J'en connais un qui sait mais il n'a jamais le temps donc ...
Cordialement, Eric Debra.

Eléphant du PHP | 67 Messages

13 févr. 2005, 16:29

Essaye ça :

Code : Tout sélectionner

<script language="javascript1.2"> parent.frames[0].document.getElementById("lelien").target = "_self"; </script>
(A placer dans une de tes page)

Mais dans ce cas là ton liens dois avoir un id="lelien" et ça doit etre la première frame.
Exemple de liens:

Code : Tout sélectionner

<a href="http://www.unautresite.com" target="_blank" id="lelien">Un liens</a>
Mais je ne sais pas si ça répond a ta demande...

Eléphanteau du PHP | 14 Messages

13 févr. 2005, 16:37

Je te contacte par mp le mieux serait que je te montre sur le site ;)

Merci en tout cas à tous ceux qui ont essayés de m'aider ;)
Cordialement, Eric Debra.

Administrateur PHPfrance
Administrateur PHPfrance | 449 Messages

13 févr. 2005, 17:38

1/ Si tu viens poser une question sur ce forum, il me semble interressant de retrouver la réponse qui va avec. Donc en l'occurence demandé à continuer par MP me semble déplacé.

2/ Je te demande de faire le necessaire pour supprimmer les liens de ta signature avant que je ne m'en charge.

Cordialement
SAEVEAS

Eléphanteau du PHP | 14 Messages

13 févr. 2005, 19:09

Pour répondre à ton message :
1/ Je ne vais pas dire en public inscrivez-vous à mon site puis allez là etc... pour montrer ce que je désire faire

2/ C'est fait, mais pas besoin de t'énerver, avec de la sympathie sa passe encore mieux ...
Cordialement, Eric Debra.

Administrateur PHPfrance
Administrateur PHPfrance | 449 Messages

13 févr. 2005, 21:56

Merci d'avoir fait le necessaire pour ta signature.

Concernant le fait de continuer par MP la résolution de ton problème, il n'est pas necessaire de donner l'acces au site, si le problème est clairement énnoncé. Je trouve juste dommage d'avoir un fil qui déroule et isole le problème sans que la réponse ne soit disponible ultérieurement.
C'est un peu le but du phorum de créer une base de connaissance permettant de retrouver des problèmes similaire et donc de pouvoir s'inspirer des réponses.
2/ C'est fait, mais pas besoin de t'énerver, avec de la sympathie sa passe encore mieux ...
je ne suis en aucun cas énervé, pour la sympathie, on verra à l'usage si une quelquonque forme se developpe :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

14 févr. 2005, 01:24

Je pense avoir compris ce que tu veux faire.
Je n'ai pas le temps de te le faire en détail mais voila une explication du principe:

1. Tu récupères le contenu de la page distante
2. Tu bufferises (obstart(...) )
3. Tu appliques un regex sur le buffer afin de supprimer les target="_blank" et également afin de rendre les liens relatifs absolus
(là tu va galérer)
4. Tu envoies le résultat au navigateur

Attention, si c'est réellement ce que tu veux faire, je te préviens que ça demande un niveau de PHP non-débutant. ;)
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 14 Messages

14 févr. 2005, 19:30

C'est tout à fait ça @rthur ... et vu que je suis débutant c'est pour ça que je demande ... Maintenant qui pourrait me le faire ? Et pour combien ?

Merci d'avance !

SAEVEAS :arrow: désolé pour mon explication ... mais c'est dur à expliquer enfin @rthur a comprit, maintenant reste à trouver un programmeur non débutant pour le faire ...

Encore merci et merci d'avance pour la réponse à ma requête, s'il y en a une ...
Cordialement, Eric Debra.