Avatar billede kalaharikid Nybegynder
26. august 2011 - 13:59 Der er 12 kommentarer og
1 løsning

iframe jammer i div?

Jeg har et script der skulle kunne lave en iframe jammer.. så mine sider altid flyver ind i den masterside de helst skal vises fra.. Men det virker ikke .. Er det fordi iframe befinder sig i nogle DIVS (apDiv1) ?

<script language="JavaScript">
function loadIframe(){
var loc =location.toString().split("?");
if(loc[1]){
parent.frames["indhold"].location =loc[1];
}
}
</script>

eksempel kan ses her: http://www.medieordbogen.dk/index.php?om.html

Håber nogle
Avatar billede kalaharikid Nybegynder
26. august 2011 - 14:00 #1
af jer kan gennemskue det..
Avatar billede olebole Juniormester
26. august 2011 - 18:02 #2
<ole>

Du kan næppe gøre mere for at undgå, dine sider bliver indekseret af søgemaskiner. Hvis jeg var dig, blev hele sitet skrevet om fra toppen - uden iframe  *o)

/mvh
</bole>
Avatar billede Slettet bruger
26. august 2011 - 21:35 #3
#2
Nu ER det jo ikke alle sider der pine-død skal indexeres af Google.
- så hvis kalaharikid (cool navn!) har brug for dén funktion.. why not?

Der er to steps:
For det første skal siderne, hvis de "opdager" at de ikke vises i rammen, sørge for at de bliver det:

if (window == top) // jeg ER det øverste vindue = der er ingen ramme omkring!
    {
    hop til rammesiden, med denne side som parameter
    }

Dernæst er der selve ramme-siden, som skal modtage parameteren, og åbne siden i rammen.

Hurtigt eksempel:

Gem dette som doc1.html:
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Side 1</title><style type="text/css">

</style><script>
if (window == top)
    {
    var side = window.location.href.split("/").pop() // hvad står der efter den sidste /
    window.location.replace("ramme.html?side="+side)
    }
</script></head><body bgcolor="#FFEEBB">

<h1 align="center">Side 1</h1>

</body>

Og ramme.html
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Framer</title><style type="text/css">
html, body {height:100%; margin:0px;}
</style><script>
function grib()
    {
    if (window.location.href.indexOf("?side="))
        {
        var siden = window.location.href.split("?side=").pop()

        var rammen = document.getElementById("rammen")
        if (rammen && siden)  // godt så, hvordan skal browseren ha' det ?
            {
            if (rammen.src)
                rammen.src = siden
            else
                if (rammen.contentWindow !== null && rammen.contentWindow.location !== null)
                    rammen.contentWindow.location = siden
                else
                    rammen.setAttribute('src', siden)
            }
        }
    }
</script></head><body onload="grib()">
<table width="100%" height="100%" border="0">
    <tr>
        <td align="center" valign="center">
            <iframe id="rammen" src="velkommen.html" width="600" height="400" frameborder="0"></iframe>
        </td>
    </tr>
</table>
</body>


Hvis du åbner doc1.html vil den automagisk hoppe over i ramme.html?side=doc1.html

PS: Jeg har brugt en stor tabel i ramme.html, men det kunne lige så godt ha' været en bunke div'er
- det gør ingen forskel : )
Avatar billede olebole Juniormester
26. august 2011 - 22:06 #4
T0M >> Prøv at kikke på adresselinjen, mens du klikker rundt. Hvorfor der anvendes en iframe er blot et af rigtig mange spørgsmål til den sitestruktur.

Med al respekt, så ville jeg skrive sitet om, inden arbejdet med at lave det på en fornuftig måde bliver for omfattende.
Avatar billede Slettet bruger
26. august 2011 - 22:54 #5
Opfattede faktisk ikke at det var dét site der var tale om, så det bare som eksempel framet content..

Tja, lidt "quirky" er det da, men hvad faen - det er jo resultatet der tæller..

Og det giver faktisk meget god mening, ikke at skulle gentage de mange "håndlavede" links omkring hver "begrebsramme", men i stedet hente "nøgent" content ind - med mulighed for at genbruge content i forskellige begrebsdefinitioner..

Minder lidt om "Lademans" bud på et multimedie(CD-ROM)leksikon anno 1991 meets steampunk..
- ku' dog godt bruge lidt mere messing og mørkt lakeret træ : )
Avatar billede olebole Juniormester
26. august 2011 - 23:59 #6
Keep safe from stinky code =|8¤0
Avatar billede kalaharikid Nybegynder
29. august 2011 - 09:29 #7
Tak for hjælpen, folkens .. I har totalt ret i det med sitestrukturen.. en databasedrevet version er bestemt next on the agenda, men generation 1 skal jo også helst have lidt udviklingspotentiale, n'cest pas? Hæhæ, messing og mørklakeret træ er fint, men i mit halvfjerdser-køkken råder multi-mønstrene i jordfarver.. og bøf i rand og schnitzler i festdragt! Ps: Kan man ikke få den til kun at køre grib() når der er en side= string i adressen? Lige nu henter den ikke start.html ind af sig selv..
Avatar billede kalaharikid Nybegynder
29. august 2011 - 09:33 #8
altså når man går ind på startsiden "uden noget"..
Avatar billede kalaharikid Nybegynder
29. august 2011 - 09:46 #9
OK,    if( location.href.match("side") ) ser ud til at gøre tricket.. Smid svar, så er der point :)
Avatar billede Slettet bruger
29. august 2011 - 15:22 #10
Kommer her : )


PS: Skulle have været
if (window.location.href.indexOf("?side=") > -1)
Det med rødt "faldt ud"...

Har du en "kunde" til projektet, eller er det rendyrket samfundsgavnlig virksomhed ?
Avatar billede Slettet bruger
29. august 2011 - 15:23 #11
#3 ER et "svar"
Avatar billede kalaharikid Nybegynder
30. august 2011 - 12:50 #12
Ok, det er et almennyttigt projekt under social og sundhedsskolen .. OleBole, vil du have point? Ellers får TOM dem :)
Avatar billede kalaharikid Nybegynder
30. august 2011 - 14:54 #13
Værsgo' og tak for hjælpen ..
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