Bouton rechercher dans un nouvel onglet

Résolu
serenodo
Messages postés
15
Date d'inscription
dimanche 30 avril 2017
Statut
Membre
Dernière intervention
6 mars 2020
- Modifié le 14 févr. 2020 à 10:10
serenodo
Messages postés
15
Date d'inscription
dimanche 30 avril 2017
Statut
Membre
Dernière intervention
6 mars 2020
- 4 mars 2020 à 15:00
Bonjour,
J'ai téléchargé un script de moteur de recherche. Il y a longtemp sur ce super site.
Je suis nul en informatique.
Le script fonctionne à merveille.
Mais j'aimerai que la recherche s'affiche dans un autre onglet pour ne pas perdre la page d'accueil avec le bouton recherche.
Et aussi les documents PDF qui s'affichent à la recherche.
En fait j'aimerai que tout s'ouvre dans un autre onglet.
Merci beaucoup.
Je vous joint les scripts.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 transitional//EN" "http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
    <title>Support SSPG</title>
     <link href="code.css" type="text/css" rel="stylesheet" />

    <script src="R:\DITX-EC\SVPBURO_SCC\Ged_Scc\data.js"></script>
    <script type = 'text/javascript'>
<!--
/* FUNCTION INCLUDE */



 function afficher()
 {
  document.writeln( '<h3><a href=' + this.url + '>' + this.titre
  + '</a></h3><p class=noindent>' + this.keyword + '<br><a href=' + this.url + '>' + this.url + '</a></p>\n' );
 }

 function Stock( titre_in,keyword_in,url_in )
 {
  this.titre  = titre_in;
  this.keyword = keyword_in;
  this.url  = url_in;
  this.afficher = afficher;
 }

 

/* Cette fonction réécrit entièrement la page web pour y afficher les résultats */
 function rechercher( chaine )
 {
  
  var trouved = 0;
  chaine = chaine.toUpperCase();
  var data = new Array();
  store( data );

  document.writeln( "<html><head><title>Résultats de la recherche</title><link href='code.css' rel='stylesheet' type='text/css'></head>" );
  document.writeln( "<body class='article'><div class='alone'>" );
  document.writeln( "<h1>Résultats de la recherche >>>>  "+chaine+"</h1>" );

  for( var i=0; i<data.length ; i++ )
  {
   if(( data[i].titre.toUpperCase().indexOf( chaine ) != -1 )
   || ( data[i].keyword.toUpperCase().indexOf( chaine ) != -1 )
   || ( data[i].url.toUpperCase().indexOf( chaine ) != -1 ))
   {
    data[i].afficher();
    trouved ++;
   }
  }

  if( !trouved )
  {
   document.writeln( "<p style='color: red; font-weight: bold;'>Aucune réponse n'a été trouvée pour ce mot clé dans la GED SSPG. </br></br>Si besoin d'une procédure MERCI de m' envoyer une demande par <a href='R:/\DITX-EC/\SVPBURO_SCC/\Ged_Scc/\Msg/\Demande_de_creation de_procedure_OU_tips .oft'> <b>mail </b></a>avec les bonnes infos</p>");
  }

  document.writeln( "<p style='color: blue; font-weight: bold;'>"+trouved+" réponse(s) trouvée(s) pour le mot-clé "+chaine);
  document.writeln( "</p><hr><form><input type='button' value='Nouvelle recherche ?' OnClick='window.location=\"moteurRecherche1.html\"'></form></div>" );
  document.writeln( "</body></html>" );
  document.close();
 }

//-->
 </script>
</head>

<body>


<form name="rech" OnSubmit="rechercher( document.rech.champ.value );">
<input type="text" name="champ"    size="20"><BR>
<input type="submit" name="valide" value="Rechercher">
</form>


<noscript><p>
Votre navigateur ne reconnaît pas le JavaScript, le script de recherche ne pourra pas marcher.
</p></noscript>

</div>
</body>
</html>

CODE JS
function store (data)
{
  data[0 ] = new Stock("GUIDE ATHENA", "message d'erreur imputation","Doc/Message_erreur_imputation.docx" );
  data[1 ] = new Stock("GUIDE ATHENA","Changer_numero_imputation.","Doc/Changer_numero_imputation.txt" );
}

7 réponses

cs_PaTaTe
Messages postés
2107
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
19 février 2021
2
17 févr. 2020 à 14:38
Bonjour,

Pourquoi ne pas afficher les résultats dans une div au lieux d'une nouvelle page ?

Pilotée par JS, l'ouverture d'une nouvelle page est souvent bloquée par les anti-popup des navigateurs voire les solutions anti-pub comme adblock.

Cordiakement,
0
@karamel
Messages postés
1807
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
5 mai 2022
144
17 févr. 2020 à 17:30
bonjour

pour ouvrir un nouvelle onglet il faut utiliser l'attribut target="_blank" a ajouter a la chaine de caractère dans la fonction afficher
0
serenodo
Messages postés
15
Date d'inscription
dimanche 30 avril 2017
Statut
Membre
Dernière intervention
6 mars 2020

18 févr. 2020 à 09:36
Bonjour@karamel,
Je ne sais pas faire.
voici la fonction afficher
function afficher()
	{
		document.writeln( '<h3><a href=' + this.url + >' + this.titre
		+ '</a></h3><p class=noindent>' + this.keyword + '<br><a href=' + this.url + '>' + this.url + '</a></p>\n' );
	}


Merci
0
@karamel
Messages postés
1807
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
5 mai 2022
144
Modifié le 18 févr. 2020 à 10:28
function afficher()
 {
  document.writeln( '<h3><a target="_blank" rel="noopener" href=' + this.url + >' + this.titre
  + '</a></h3><p class=noindent>' + this.keyword + '<br><a target="_blank" rel="noopener" href=' + this.url + '>' + this.url + '</a></p>\n' );
 } 


rien ne sert de courir il faut partir a point.
cours Forest cours !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
serenodo
Messages postés
15
Date d'inscription
dimanche 30 avril 2017
Statut
Membre
Dernière intervention
6 mars 2020

Modifié le 18 févr. 2020 à 12:04
@karamel,
Merci pour ton aide, mais cela ne fonctionne pas pour la page des recherches, elles s'affichent dans la même page.
Par contre c'est ok pour les liens dans la page de recherche, les doc s'ouvrent bien dans une autre page.

@cs_PaTaTe
Les popup ne sont pas un problème, car ce site ne sera utilisé qu'en interne du service, et toujours avec le même navigateur.
Merci
0
cs_PaTaTe
Messages postés
2107
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
19 février 2021
2
18 févr. 2020 à 13:14
@serenodo

C'est possible mais j'ai déjà vu des popups internes à un site être totalement bloqué avec certaines extensions donc à choisir, je prendrai la solution la plus "propre" ^^
0
serenodo
Messages postés
15
Date d'inscription
dimanche 30 avril 2017
Statut
Membre
Dernière intervention
6 mars 2020

18 févr. 2020 à 13:27
@cs_PaTaTe ,
La solution la plus propre est le résultat de la recherche dans un nouvel onglet dans une div.
Ou
Une div qui s' affiche dans la même page.
Mais je ne sais pas le faire.
Merci.
0
serenodo
Messages postés
15
Date d'inscription
dimanche 30 avril 2017
Statut
Membre
Dernière intervention
6 mars 2020

4 mars 2020 à 15:00
Résolu avec w=open('index.html','','');
0