javascript: ouvrir dans un nouvel onglet

(X)HTML, CSS... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher partout pareil ? C'est un problème simple, un peu complexe ? V'nez ici !

Modérateur : Asumbaa


jeromax
Arias
 
Messages : 3
Inscription : 12 Juil 2005 10:25

javascript: ouvrir dans un nouvel onglet

Messagede jeromax » 12 Juil 2005 10:35

Salut
Savez-vous si il existe une instruction javascript pour ouvrir un lien dans un nouvel onglet et non pas dans une nouvelle fenêtre.
Voila ce que je veux faire:
Code: Tout sélectionner
<script>
function ouvrir(){
ouvrirDansNouvelOnglet(url1);
ouvrirDansNouvelOnglet(url2);
ouvrirDansNouvelOnglet(url2);
....
}
</script>
<a href="#" onClick="javascript:ouvrir();">ouvrir</a>
Que dois-je mettre dans la fonction ouvrirDansNouvelOnglet
Merci
Il semblerait que IE7 gèrera les onglets lui aussi....


Humpfff
Animal mythique
 
Messages : 6069
Inscription : 05 Avr 2004 12:23
Localisation : Paris même

Messagede Humpfff » 12 Juil 2005 11:17

AMHA, ne t'embête pas à mettre en place ce genre de fonctions, je suis assez grand pour savoir de quelle manière ouvrir des liens (fenêtre/onglet actif ou bien autre onglet/fenêtre) et ce, selon mon envie du moment.

De plus, y'a rien qui m'agace plus qu'un lien ouvert via javascript :wink:


jeromax
Arias
 
Messages : 3
Inscription : 12 Juil 2005 10:25

Messagede jeromax » 12 Juil 2005 12:37

Oui peut être, mais c'est pour une appli web qui sera utiliser en interne. Ce sont les utilisateurs qui veulent ça...
Moi non plus je n'aime pas les pop up.... mais là n'est pas la question.... :wink:


Benoit
Administrateur
 
Messages : 6470
Inscription : 19 Juil 2003 9:59
Localisation : Bruxelles, Belgique

Re: javascript: ouvrir dans un nouvel onglet

Messagede Benoit » 12 Juil 2005 12:52

jeromax a écrit:Il semblerait que IE7 gèrera les onglets lui aussi....

Il a été mentionné explicitement qu'il n'y aurait pas de fonction permettant d'ouvrir un onglet sans l'accord de l'utilisateur dans IE7 non plus.

http://blogs.msdn.com/ie/archive/2005/05/26/422103.aspx a dit :
Regarding script, there is no "target='_tab'" feature or any direct access to tabs from script beyond what is available with multiple windows today.

Si les utilisateurs veulent des onglets, ils configureront leur navigateur pour ouvrir des onglets lorsque nécessaire. Et à moins que "les utilisateurs" soient une seule personne ça m'étonnerait qu'ils veuillent tous la même chose :)


calimo
Animal mythique
 
Messages : 20662
Inscription : 26 Déc 2003 11:51
Localisation : 46°11'49N 06°06'03E

Messagede calimo » 12 Juil 2005 12:53

Ce genre de comportement est typiquement du domaine de la configuration de l'utilisateur. Les auteurs n'ont pas de contrôle là-dessus, et heureusement. Déjà que l'ouverture d'une nouvelle fenêtre devrait être interdite... :roll:

Cependant si (j'insiste, uniquement si !) et seulement si c'est une application purement interne, dans un environnement 100% contrôlé, et que tous les utilisateurs ont l'extension TBE installée (ce qui est extrêmement fortement déconseillé), alors il y a une technique expliquée ici.

Cela dit, le mieux est encore de configurer Firefox pour ouvrir des onglets si tu veux ouvrir des onglets, et laisser ceux qui préfèrent avoir des nouvelles fenêtres avoir de nouvelles fenêtres. Il n'y a pas de raison :roll:
Membre de l'April - « promouvoir et défendre le logiciel libre »
http://www.april.org


jeromax
Arias
 
Messages : 3
Inscription : 12 Juil 2005 10:25

Messagede jeromax » 12 Juil 2005 13:00

ok, je vais voir comment on va faire alors....
mais oui tous les utilisateurs veulent la même chose puisque les ergonomes ont décidé pour eux :wink:


calimo
Animal mythique
 
Messages : 20662
Inscription : 26 Déc 2003 11:51
Localisation : 46°11'49N 06°06'03E

Messagede calimo » 12 Juil 2005 13:07

Certes, mais si les ergonomes décident de mettre TBE partout, c'est le responsable informatique qui sera pas content (il faudra au moins doubler les effectifs !)
Membre de l'April - « promouvoir et défendre le logiciel libre »
http://www.april.org

FMaz
 

Messagede FMaz » 16 Déc 2006 0:58

Ha très bien, alors vous n'avez jamais du faire de gros développement car cette question est TRÈS pertinente.

Mon cas:

J'ai un formulaire généré dynamiquement en AJAX avec plusieurs options de sortie (c'est à dire que le champs action="" du formulaire est modifié dynamiquement avant l'envoi du formulaire en fonction du lien sur lequel la personne clique.)

Actuellement, il est IMPOSSIBLE pour l'utilisateur d'arriver à ouvrir un lien dans un nouvel onglet puisque:

Les navigateurs se basent sur la propriété HREF alors que le traitement est fait via ONCLICK, qui lui appelle une fonction qui soumettera le formulaire.

Si je met, par exemple: HREF="javascript:fonction('page4')" , et que j'arrive à ouvrir le lien dans un nouvel onglet, le navigateur va essayer de désoudre le domaine "javascript:function('page4')" et non pas d'apeller la fonction.

Donc OUI, il serait EXTRÈMENT utile de pouvoir, par exemple, placer 2 mini icone à coté du lien pour: ouvrir dans une nouvelle fenêtre, ouvrir dans un nouvel onglet, afin que l'utilisateur AI le choix, ca actuellement l'interprétation javascript pour les sites réellement dynamique ... ca laisse à désirer.

Je vais probablement être forcé de faire une page intermédiaire qui gèrera une redirection, et donc de ralentir la navigation de tout mes visiteurs.


Alors ? c'est toujours innutile ? Vous pensez toujours avoir le "controle" ?

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1) Gecko/20061010 Firefox/2.0


Benoit
Administrateur
 
Messages : 6470
Inscription : 19 Juil 2003 9:59
Localisation : Bruxelles, Belgique

Messagede Benoit » 16 Déc 2006 8:33

L'évènement onclick se déclenche aussi lorsque tu utilises le bouton du milieu de la souris, il n'est nullement nécessaire (et même déconseillé) de mettre un lien javascript dans href.

Par ailleurs, tu peux tout à fait disposer plusieurs boutons submit pour ton formulaire avec des valeurs différentes, au lieu de changer l'URL du champ "action". Ça marchera même sans JavaScript.
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪


calimo
Animal mythique
 
Messages : 20662
Inscription : 26 Déc 2003 11:51
Localisation : 46°11'49N 06°06'03E

Messagede calimo » 16 Déc 2006 10:00

FMaz a écrit:Actuellement, il est IMPOSSIBLE pour l'utilisateur d'arriver à ouvrir un lien dans un nouvel onglet puisque:

Les navigateurs se basent sur la propriété HREF alors que le traitement est fait via ONCLICK, qui lui appelle une fonction qui soumettera le formulaire.
Euh, juste comme ça, sais-tu que certaines personnes préfèrent utiliser le clavier pour naviguer ? Et qu'il y en a même qui ne peuvent pas faire autrement ?
On ne parle même pas de ceux qui n'auraient malheureusement pas javascript, vu qu'on parle de ajax ils sont exclus d'avance.

Il y a une chose que trop de développeurs web oublient trop souvent : c'est au développeur (à l'application) de s'adapter aux habitudes et autres préférences du client, et pas l'inverse. Une fois de plus, tu nous donne un magnifique exemple de développeur qui veut contrôler la manière dont l'utilisateur se sert de son application. Et c'est bien là le problème : certaines fonctions javascript donnent l'impression qu'on peut contrôler l'utilisateur. Mais c'est vraiment une très, très mauvaise idée.

Si l'utilisateur veut ouvrir une nouvelle fenêtre, c'est son choix, son choix à lui, et à lui seul. Jusqu'à maintenant, je n'ai vu que très peu de cas où l'ouverture d'une fenêtre était vraiment utile. La plupart du temps, ce sont de faux problèmes de mauvaise conception.

Maintenant, s'il y a une seule chose qui manque, c'est la possibilité de faire un clic milieu sur un bouton "submit" pour ouvrir le résultat dans un nouvel onglet.
Mais dans tous les cas, c'est à l'utilisateur de choisir :wink:


Un seul mot d'ordre : la souplesse. Et tout ira bien :wink:

PS : la pire invention, c'est bien le window.open :roll:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1) Gecko/20061010 Firelimace Firefox/2.0
Membre de l'April - « promouvoir et défendre le logiciel libre »
http://www.april.org


HP
Tyrannosaurus Rex
 
Messages : 2999
Inscription : 21 Oct 2004 9:25
Localisation : meatspace

Messagede HP » 16 Déc 2006 10:41

FMaz a écrit:Donc OUI, il serait EXTRÈMENT utile de pouvoir, par exemple, placer 2 mini icone à coté du lien pour: ouvrir dans une nouvelle fenêtre, ouvrir dans un nouvel onglet, afin que l'utilisateur AI le choix, ca actuellement l'interprétation javascript pour les sites réellement dynamique ... ca laisse à désirer.

looooooooool ! :lol:
"click middle", MAJ+clic, etc, j'en passe et des meilleurs, l'utilisateur à le choix, encore faut il le laisser utiliser son navigateur et ne pas se penser obligé de choisir à sa place....

“La médiocrité obtiendra immanquablement la préséance en se travestissant des oripeaux de la bienséance.”

FMaz
 

Messagede FMaz » 16 Déc 2006 16:16

Non, ca ne fonctionnera pas. Parceque ce n'est pas un lien, mais un envoi de formulaire par un javascript.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1) Gecko/20061010 Firefox/2.0


HP
Tyrannosaurus Rex
 
Messages : 2999
Inscription : 21 Oct 2004 9:25
Localisation : meatspace

Messagede HP » 16 Déc 2006 16:18

FMaz a écrit:ca ne fonctionnera pas [...] un envoi de formulaire par un javascript.

excuse moi, j'évite de toucher à ce genre de choses :wink:

“La médiocrité obtiendra immanquablement la préséance en se travestissant des oripeaux de la bienséance.”

FMaz
 

Messagede FMaz » 16 Déc 2006 16:24

Bah tu n'a pas le choix dans le cas ou tu créer par exemple un panel de gestion:

un formulaire te permet de sélectionner un utilisateur (une recherche dynamique d'un utilisateur (AJAX)), puis l'administrateur à une douzaine d'options:

- Modifier le compte
- Supprimer le compte
- Bloquer le compte
- Envoyer un message
- Visualiser le compte
- Voir la boite de message du compte
- Vérifier les accès liés du compte
- etc...

Tu va faire comment toi? (Si tu a une solution miracle, j'en serais ravi...)


Edit:
À l'avance, sâche que les solutions du style:
- Créer une page intermédiaire qui redirige
- Créer une page de recherche séparée
- Effectuer (à chaque fois) la recherche directement dans les actions
- Afficher la liste d'action pour chaque utilisateur

^^ c'est des solutions qui nuise à la navigation (donc amateur), qui ne sont pas à envisager à mon avis. La solution doit aussi respecter les normes W3C strictes bien entendu.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1) Gecko/20061010 Firefox/2.0


calimo
Animal mythique
 
Messages : 20662
Inscription : 26 Déc 2003 11:51
Localisation : 46°11'49N 06°06'03E

Messagede calimo » 16 Déc 2006 17:33

FMaz a écrit:Bah tu n'a pas le choix dans le cas ou tu créer par exemple un panel de gestion:

un formulaire te permet de sélectionner un utilisateur (une recherche dynamique d'un utilisateur (AJAX)), puis l'administrateur à une douzaine d'options:
Je suis désolé, mais en quoi est-ce que tu as besoin d'ouvrir un nouvel onglet ? :shock: :roll:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1) Gecko/20061010 Firedragon Firefox/2.0
Membre de l'April - « promouvoir et défendre le logiciel libre »
http://www.april.org

Suivante

Retourner vers Développement web

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invités