Bouton rechercher dans un nouvel onglet

Résolu
serenodo Messages postés 14 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 14 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 2126 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 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
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 14 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 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
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' );
 } 


0

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

Posez votre question
serenodo Messages postés 14 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 2126 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 14 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 14 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
Rejoignez-nous