Avatar billede jemt Nybegynder
11. marts 2001 - 00:45 Der er 7 kommentarer og
1 løsning

Problemer med mit søgescript

Hej Alle sammen.
Jeg har problemer med mit søgescript!
Når man har søgt på en ting, så danner scriptet selv en ny side med informationerne!
Nu er problemet bare, at når man så klikker på de links, som den har fundet, så åbner den nye side inde i den pågældende ramme/frame, hvor søgeresultatet var!
Hvordan gør jeg sådan, at de åbner i hele vinduet ????
Scriptet er her:


<HTML>
<HEAD>
  <META NAME=\"GENERATOR\" CONTENT=\"Microsoft FrontPage 4.0\">
  <TITLE>Søgemaskine</TITLE>
  <SCRIPT LANGUAGE=\"JAVASCRIPT\">
<!--
// Dette script er meget svært så derfor har jeg lavet en guide
// Følg guiden eller download denne fil i min JavaScript side
// Du kan også sende mig en mail på markus_drag@mail-telia.dk hvis du har problemer
// Det er forresten bedst at bruge frames til dette script så resultat siden vises et andet sted
// Start script fra http://www.mdr.infoside.dk
//
// Her skriver du kilden til din pil som vises ved resultat
var PointerPicture = \"<IMG SRC=billeder/pil.bmp width=26 height=20 align=top>\";
//                    Hvis intet billede er skrevet bliver boksen tom
var ResultBody = \"<BODY BGCOLOR=\'#ffffff\' TEXT=\'#000000\' LINK=\'#000000\'\" +
                \" VLINK=\'#000000\' BACKGROUND=\'billeder/bg_blaa.bmp\'>\";
//                                ^^^^^^^^^^ Vælg et baggrundbillede (Ikke Nødvendigt)
var ResultBGCOLOR = \"FFFFFF\"; // Baggrundsfarven i tabellen i resultater
// Slut på egenskaber for den kommende resultat side
function compress(str) {
var h=str;
var leading=(h.charAt(0) == \" \" || h.charAt(0) == \"*\" );
var trailing=(h.charAt(h.length-1) == \" \" || h.charAt(h.length-1) == \"*\");
while (trailing || leading) {
if (leading) {
  h=h.substring(1,h.length);
  leading=(h.charAt(0) == \" \" || h.charAt(0) == \"*\" );
}
if (trailing) {
  h=h.substring(0,h.length-1);
  trailing=(h.charAt(h.length-1) == \" \" || h.charAt(h.length-1) == \"*\");
}
}
// Dette skriver til textboksen (Her må ikke rettes!!!!)
document.searchForm.search_name.value=h;
return document.searchForm.search_name.value;
}
function checkField() {
if ( compress(document.searchForm.search_name.value) != \'\' ) {
find(document.searchForm, indexedPage);
return true }
// Hvis brugeren ikke har skrevet noget
//            ||||| Skriv din alert boks besked her
else { alert(\"Venligst indtast søgeord\");
document.searchForm.search_name.focus();
return false }
}
function makeArray(n){
this.length = n;
for (i = 1; i <= n; i++){
this[i] = \"\";
}
}
function index (link,summary,keywds) {
var argc = index.arguments.length;
var keys = argc - 2;
this.link = link;
this.keywords = new makeArray(keys);
this.keywords[1] = summary;
for(var i = 2; i <= keys+1; i++) {
this.keywords[i] = index.arguments[i];
}
}
//Her skal du skrive præcist hvor mange indexed pages der er f.eks 21
//                            vvv
var indexedPage = new makeArray(21);
// lav din egen indexedPage[12] eller andet som her
// Som her: indexedPage[i] = new index(\"URL\",\"Titel\",\"Nøgleord 1\",
//                                            \"Nøgleord 2\",\"Nøglord 3 osv.\");
// Der skal mindst være et af det hele før det virker
// Her er min gamle søgemaskines index
//
indexedPage[1]=new index(\"css.html\",\"CSS\",\"Understregning\",\"Kontrast\",\"Lysende links\");
indexedPage[2]=new index(\"java.htm\",\"Computer\",\"JavaScripts\",\"JavaUr\",\"JavaScript mail\",\"Sideoverfører\");
indexedPage[3]=new index(\"rollercoastertycoon.htm\",\"RollerCoasterTycoon\",\"Rollercoasters\",\"Hints\",\"Links til Rollercoastert Tycoon\");
indexedPage[4]=new index(\"ommig.htm\",\"Profil\",\"Hvem har lavet denne side?\",\"Laveren\",\"hjælp\");
indexedPage[5]=new index(\"sejestesider.htm\",\"Links\",
                        \"Links til RCT\",\"Links til Rollercoaster Tycoon\",\"Andre seje sider\");
indexedPage[6]=new index(\"http://www.besked.dk\",\"SMS besked\",\"mobiltelefon besked\",\"hjælp til SMS\");
indexedPage[7]=new index(\"faq.html\",\"Hjælp til brug af Net\",\"Hjælp\",\"Hjælp mig med nettet\",\"hjælp til alt\",\"Hjælp til smarte sager\");
indexedPage[8]=new index(\"HTTP://www.rollercoastertycoon.com\",\"RCT\",\"Andre RCT sider\");
indexedPage[9]=new index(\"HTTP://www.mortena.subnet.dk\",\"Ven\",\"Links til bekendte\",\"Vens side\",\"Min vens side\",\"Morten\",\"Højhuset\",\"Hvordan hacker jeg på højhuset\",\"Hack i HH\",\"Højhuset chat\");
indexedPage[10]=new index(\"HTTP://www.rgb.dk/copy\",\"JavaApplets\",
                          \"Andre links til Java\",\"Java\");
indexedPage[11]=new index(\"ommig.htm\",\"Profil\",\"Billeder af Markus\",\"Billeder af Mads\",\"profil\");
indexedPage[12]=new index(\"tips.html\",\"tips\",\"Tips og seje tricks\",\"Tabel tricks\",\"Trick til tabeler\",\"Lav flotte tabeler\")
indexedPage[13]=new index(\"HTTP://www.rollercoastertycoon.com\",\"RCT links dicect\",\"Hvor kan jeg finde andre steder med Rollercoaster Tycoon?\",\"Andre hints til Rollercoaster Tycoon\",\"Download RollerCoaster Tycoon\");
indexedPage[14]=new index(\"HTTP://www.hasbro-interactive.com\",\"Udgiveren af RCT\",\"Hvem lavede RCT?\",\"Hvem udgav Rollercoaster Tycoon\",\"hvem står bag koderne\",\"Hvor kan jeg finde koder til Rollercoaster Tycoon?\",\"koder til rollercoaster tycoon\")
indexedPage[15]=new index(\"sejestesider.htm\",\"Prøv at se, om du kan finde noget i mine links!\",\"Scotland\",\"Wales\",\"British Isles\",\"Ireland\",\"England+\",\"Great Britain\")
indexedPage[16]=new index(\"mailto:markus_drag@mail-telia.dk\",\"mail mig nu!\",\"Mail mig direkte\",\"Mail mig her og nu\",\"Markus\' Mail\",\"Markus\");
indexedPage[17]=new index(\"css_styleelements.html\",\"CSS elementer\",\"CSS elemnter\",\"Hvordan laver jeg mit eget CSS script?\",\"Hvad er CSS\",\"CSS elemnter\",\"CSS+lav+eget\",\"CSS\")
indexedPage[18]=new index(\"html.html\",\"HTML\",\"HTML\",\"HTML syntakser\",\"HTML koder\",\"Seje HTML\",\"Hjælp til HTML\")
indexedPage[19]=new index(\"html_frames.html\",\"FRAMES\",\"Frames\",\"HTML frames\",\"Hurtige frames\",\"FRAMES af HTML\",\"HTML+Frames\")
indexedPage[20]=new index(\"spil_ufoattack/ufo_attack.html\",\"Online Spil\",\"Spil\",\"Online spil\",\"Spil +Online\",\"Andre spil\")
indexedPage[21]=new index(\"klik ikke her!.htm\",\"Web design\",\"Se i menuen under Web Design for mere info\")
// Hvis du glemmer at skrive det rigtige antal indexedPages så bliver de frakoblet så husk det!!!
// Nu til formen
function find(form,indexedPage) {
var key;
var tmp_find_word;
var find_word = form.search_name.value;
var match = false;
var doc;
var resultOne =\'\'; //Part 1 af output
var resultTwo =\'\'; //part 2 af output
var resultThr =\'\'; //part 3 af output
var N_found = 0;
// Søg og output
var j=0;
for (var i = 1; i <= indexedPage.length; i++) {
for (var n in indexedPage[i].keywords) {
key = indexedPage[i].keywords[n].toString();
key = key.toUpperCase();
tmp_find_word = find_word.toUpperCase();
if ((key.indexOf(tmp_find_word) != -1 ||
  tmp_find_word.indexOf(key) != -1) && (n != \"length\")) {
  match = true;
  j++;
  key1 = key.substring(0,key.indexOf(tmp_find_word)) +
        \"<B>\" + tmp_find_word + \"</B>\";
  key2 = key1 + key.substring(key1.length-7,key.length);
  resultTwo += \" <TR><TD valign=top align=right><i>\" + j + \". </i> \" +
                PointerPicture + \"</TD>\\n\";
  resultTwo += \" <TD><FONT FACE=\'Arial\' SIZE=-1>\\n\";
  resultTwo += \" Nøgleord: \" + key2 + \"<br>\\n\";
  resultTwo += \" Titel: \" + indexedPage[i].keywords[1] + \"<br>\\n\";
  resultTwo += \" URL: <A HREF=\" + indexedPage[i].link + \">\"
    + indexedPage[i].link + \"</A></FONT><HR>\\n\";
  resultTwo += \" </TD></TR>\\n\";
  N_found = j;
  }
  }
}
// HVIS DER IKKE VAR ET ORD DER MATCHEDE...
if (!match) {
resultThr += \" <TR><TD><FONT FACE=\'Arial\' SIZE=-1>Beklager, intet passede til søgeordet <B>\" +
                find_word + \"</B>\\n\";
resultThr += \" <br><center>Prøv venligst igen, eller tjek for tastefejl og lign.</center></FONT></TD></TR>\\n\";
}
resultThr += \" </TABLE></TD></TR>\\n\";
resultThr += \"</TABLE><BR>\\n\";
resultThr += \"</CENTER>\\n\";
resultThr += \"</BODY></HTML>\\n\";
// hvis et ord passer
resultOne += \"<HTML><HEAD><TITLE>Resultater for \" + find_word +
            \"</TITLE></HEAD>\";
resultOne += ResultBody +\"\\n\";
resultOne += \"<CENTER><FONT FACE=\'Arial\' SIZE=+2>Søgeresultater for <B>\" +
              find_word + \"</B></FONT><br>\\n\";
if (match)
if (N_found == 1) resultOne += \"<FONT FACE=\'Arial\' SIZE=1><B>1</B> \" +
                              \"matchende resultat er fundet</FONT><br><br>\\n\";
else resultOne += \"<FONT FACE=\'Arial\' SIZE=1><B>\" + N_found +
                  \"</B> resultater der matchede er fundet</FONT><br><br>\\n\";
resultOne += \"<TABLE border=1 CELLSPACING=\'0\' CELLPADDING=\'0\'><TR><TD>\\n\";
resultOne += \" <TABLE border=0 CELLSPACING=\'0\' CELLPADDING=\'8\' BGCOLOR=\'\" +
              ResultBGCOLOR + \"\'>\\n\";
// Hvis du bruger frames?
if (parent == null || parent == self) { doc = window.document; }
else { doc = parent.hovedramme.document; }
//                  ^^^^
// her skrives det frame navn hvor resultat siden skal vises i
doc.open();
doc.write(resultOne);
doc.write(resultTwo);
doc.write(resultThr);
doc.close();
}
// Det var så alt her fra Markus Hjemmeside\'s Sitesearch
-->
  </SCRIPT>
  <base target=\"banner1\">
</HEAD>


<BODY topmargin=\"4\" bgcolor=\"#C6C3C6\" leftmargin=\"14\">
<FORM NAME=\"searchForm\" METHOD=\"GET\" onSubmit=\"return checkField()\">
<P><INPUT TYPE=\"text\" SIZE=\"15\" NAME=\"search_name\"> <INPUT NAME=\"find\"
TYPE=\"submit\" VALUE=\"Søg\"></P>

<P></FORM>

</BODY>
<!--Slut dette script-->
<!--Support: markus_drag@mail-telia.dk-->
<!--http://www.mdr.infoside.dk-->
</HTML>


Jeg håber i kan hjælpe mig !

På forhånd tak!
Avatar billede olebole Juniormester
11. marts 2001 - 00:55 #1
<ole>

// Hvis du bruger frames?
if (parent == null || parent == self) { doc = window.document; }
else { doc = parent.hovedramme.document; }
//                  ^^^^
// her skrives det frame navn hvor resultat siden skal vises i

Skriver du om til:

doc = top.document;

/mvh
</bole>
Avatar billede olebole Juniormester
11. marts 2001 - 01:01 #2
...vrøvl, du skal ændre denne linie:

resultTwo += \" URL: <A HREF=\" + indexedPage[i].link + \">\"

...til:

resultTwo += \" URL: <A HREF=\" + indexedPage[i].link + \" target=\'_top\'>\"

Så loader den i vinduet. Eller sådan, for at den åbner et nyt:

resultTwo += \" URL: <A HREF=\" + indexedPage[i].link + \" target=\'_blank\'>\"

/mvh
Avatar billede jakoba Nybegynder
11. marts 2001 - 01:03 #3
søg efter strengen \"URL: <A HREF\" (uden citationstegn) i din fil. Det er den linie du skal rette i:

  resultTwo += \" URL: <A HREF=\" + indexedPage[i].link + \">\"

mellem  <A  og  HREF  kan du lægge en target-parameter ind:

resultTwo += \" URL: <A target=\'_top\' HREF=\" + indexedPage[i].link + \">\"
så vises linket i hele browserrammen
resultTwo += \" URL: <A target=\'_blank\' HREF=\" + indexedPage[i].link + \">\"
så åbnes der et nyt browservindue at vise linket i
resultTwo += \" URL: <A target=\'rammenavn\' HREF=\" + indexedPage[i].link + \">\"
så vises linket i den ramme hvor du har skrevet  name=\'rammenavn\'  i en af <frame kommandoerne i din frameset fil.

mvh JakobA

Avatar billede jakoba Nybegynder
11. marts 2001 - 01:05 #4
olebole >> vi er bare goe.
Avatar billede jemt Nybegynder
11. marts 2001 - 01:05 #5
Hm, har lidt svært ved at få det til at virke... Er straks tilbage med svar..
Avatar billede jemt Nybegynder
11. marts 2001 - 01:08 #6
JUHUUUUUUUUUUUUUUUUUUUUUUU
Det virker !!!!
Endelig !
Jeg ELSKER www.eksperten.dk, og jeg elsker dig, OleBole ;O)

Hehe... Mange, mange tak !
Også tak til dig Jakob, men jeg acceptere altså OleBole, da han kom først.. Men takke alligevel ;o)
Avatar billede olebole Juniormester
11. marts 2001 - 01:26 #7
Sorry, jakoba. Du må ha\' den næste :)
Ja, du er ved at blive god....det har jeg lagt mærke til! Keep up the good work ;)
/mvh
Avatar billede jakoba Nybegynder
11. marts 2001 - 01:35 #8
:-))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester