Avatar billede sobr Nybegynder
22. februar 2004 - 11:38 Der er 15 kommentarer og
3 løsninger

Tving en side til at åbne i frames - skal fungere med søgemaskine

Kan nogen hjælpe mig med at få dette script til at fungere?
Det skal fungere sammen med søgemaskiner.

Denne kode sættes på alle indholdssiderne
<script language="javascript" type="text/javascript">
if(top.location==window.location){top.location.replace(top.location.href.substring(0,top.location.href.indexOf(".dk/")+3)+"/index.htm?"+escape(location.pathname))}
</script>

Denne kode på framset siden
<script language="javascript" type="text/javascript">
function loadSource(){
if (location.search!=""){
src=unescape(location.search.substring(1));
top.frames['mainFrame'].location.href=src;
}}
</script>
Avatar billede sobr Nybegynder
22. februar 2004 - 12:28 #1
Scriptet har jeg fra

http://www.eksperten.dk/artikler/128

Vær nu lidt hjælpsomme :-)
Avatar billede o-zone Nybegynder
22. februar 2004 - 18:52 #2
her er til indholdssiderne:
---8<----------
<script language="javascript" type="text/javascript">
if(top.location==window.location){
    top.location.replace(top.location.href.substring(0,top.location.href.lastIndexOf("/"))+"/index.htm?"+location.href.substr(location.href.lastIndexOf("/")+1))}
</script>
---8<----------

og her til frameset siden:
---8<----------
    <script language="javascript" type="text/javascript">
    function loadSource(){
        if (location.search!=""){
            src=unescape(location.search.substring(1));
            top.frames['mainFrame'].location.href=src;
        }
    }
    </script>
---8<----------
+ at frameset siden skal have:
<frameset cols/rows="yadayada" onload="loadSource(); return true;">
Avatar billede o-zone Nybegynder
22. februar 2004 - 18:54 #3
scriptet kræver at frameset siden og indholdssiderne ligger i samme bibliotek. Vil du gøre det mere generelt, skal du bruge location.pathname i indholdssiderne også. (spørg evt. hvis det er nødvendigt)

erh ... og så var det jo ment som et svar! ;-)
Avatar billede o-zone Nybegynder
22. februar 2004 - 18:56 #4
i øvrigt forudsætter dit oprindelige script at siderne er uploadede på et .dk domæne! :)
Avatar billede sobr Nybegynder
22. februar 2004 - 19:17 #5
Mener du at frameset siden og indholdssiderne skal ligge i den samme mappe?
Avatar billede sobr Nybegynder
22. februar 2004 - 19:20 #6
+ at frameset siden skal have:
<frameset cols/rows="yadayada" onload="loadSource(); return true;">

Forklar hvor dette skal sættes ind.

Jeg er nødt til at ha' det skåret ud i pap.

Og dur det med søgemaskiner?
Avatar billede o-zone Nybegynder
22. februar 2004 - 20:11 #7
yeps, yeps og yeps :)
1) Sådan som jeg har bygget det op, skal frameset og indholdssider ligge i samme bibliotek.
2) Du skal have 'onload="loadSource(); return true;"' (uden "'"'er) med indenfor din frameset tag
3) duer med søgemaskiner... hmmm... jeg er ikke sikker på hvad du mener med det. Men scriptet er lavet sådan at du ikke kan se en indholdsside uden at den er i et frameset. (dvs. det første indholdssiderne gør er at checke om de fylder hele siden, og hvis de gør det, så loader de dit frameset med sig selv i mainFrame

Prøv at gemme de her 2 filer i samme bibliotek:
---8<-----[index.htm]-----
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
    <title>frameset</title>
    <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1">

    <script language="javascript" type="text/javascript">
    function loadSource(){
        if (location.search!=""){
            src=unescape(location.search.substring(1));
            top.frames['mainFrame'].location.href=src;
        }
    }
    </script>
</head>

<frameset cols="200,*" onload="loadSource(); return true;">
    <frame name="naviFrame" src="navi.htm">
    <frame name="mainFrame" src="main.htm">
</frameset>
</html>
---8<----------
---8<-----[main.htm]-----
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>main</title>
    <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="0000ff">
<script language="javascript" type="text/javascript">
if(top.location==window.location){
    top.location.replace(top.location.href.substring(0,top.location.href.lastIndexOf("/"))+"/index.htm?"+location.href.substr(location.href.lastIndexOf("/")+1))}
</script>
<h1>CenterFrame1</h1>
</body>
</html>
---8<----------
(og lav evt. nogle forskellige kopier af main.htm (med samme javascript i).
Herefter kan du prøve at loade index.htm ind i browseren, eller main.htm. Begge ting vil resultere i at dit frameset bliver loadet. Og hvis du laver kopier af main (eller andre sider med samme javascript i), vil de blive loadet som mainFrame indholdet i dit frameset, hvis du prøver at loade dem alene.
Hmmm... jeg ved ikke om det gjorde det mere klart?
(-:H@zze
Avatar billede roenving Novice
23. februar 2004 - 02:32 #8
-- og koden kan også findes (næsten til direkte kopi, som i bufferzones artikel !-) på http://roenving.users.whitehat.dk/WD5Opacity.html ...
Avatar billede sobr Nybegynder
23. februar 2004 - 19:36 #9
Jeg ved ski ikke rigtig hvad jeg gør ved det her. Jeg skrev jo, at det sku' fungere med søgemaskiner. Og at alle siderne skal ligge i samme mappe - det blir jo et rod, når der er mange.
Jeg troede, der var nogen, der vidste hvad der virkede.

Hvad er forskellen så på at bruge iframe og frames? Så vidt jeg ved er der mange der bruger iframe.
Avatar billede roenving Novice
23. februar 2004 - 23:43 #10
Frames kræver et frameset til at regulere forekomsten, hvor iframes (inline frames) kan placeres i et almindeligt dokument ...

-- og det betyder i princippet intet om du placerer i een mappe eller flere, det kan du gøre som du vil, men visse konsekvens-rettelser vil være nødvendige i forhold til den angivne kode !-)
Avatar billede sobr Nybegynder
28. februar 2004 - 22:44 #11
roenving - vil du lægge et svar ind - for jeg tror du er nærmest det, som jeg har brug for.
Og tak for hjælpen :-)
Avatar billede o-zone Nybegynder
28. februar 2004 - 22:56 #12
Hvad er det præcist du mener, når du sriver at "det skal virke med søgemaskiner"?
...og hvorfor begynder du at snakke om frameset vs. iframes?
Jeg er ikke længere så sikker på at jeg har forstået hvad det er du vil? :(
Avatar billede roenving Novice
28. februar 2004 - 23:07 #13
-- og iøvrigt har google ingen problemer med at linke til den ovenfor angivne side, som selvfølgelig loades, som den skal, inde i min hovedside med navigering osv...

-- men derfor skal de andre bidragydere vel også krediteres for deres indsats !-)

-- velbekomme '-)
Avatar billede sobr Nybegynder
29. februar 2004 - 11:28 #14
roenving - når jeg skriver, at det skal virke med søgemaskiner, mener jeg, at de skal kunne finde mine undersider og loade dem i den rigtige ramme.
Med iframes tænkte jeg blot på om det er mindre problematisk end frames.
Avatar billede sobr Nybegynder
29. februar 2004 - 11:30 #15
Undskyld - det var et svar til o-zone
Avatar billede o-zone Nybegynder
29. februar 2004 - 11:36 #16
Søgemaskiner kan sagtens indexsere dine sider selvom de tvinger sig selv ind i et frameset!
og jeg tror ikke at du vinder noget ved at bruge iframes istedet.

Hvis det er et problem for dig at det hele skal ligge i et bibliotek, kan koden godt ændres til at arbejde med underbiblioteker - jeg troede bare ikke at det var et omfattende system du arbejdede på, og så var det nemmere for mig at lave det lille shortcut (da det gør test på min lokale maskines nemmere).
Avatar billede sobr Nybegynder
29. februar 2004 - 12:10 #17
Okay - nu kommer jeg det nok ikke nærmere - jeg har også læst en hel del stof, om søgemaskiner og andet godt, de sidste par dage.
Så i deler pointene
Avatar billede roenving Novice
29. februar 2004 - 12:35 #18
<META NAME="Robots" CONTENT="ALL"> eller
<meta name="robots" content="index,follow">

-- den sidste nok som modsætning til hhv. noindex og nofollow ...

-- og tak for points ;~}
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