webForumDet fria alternativet

Behöver hjälp gällande mest iframe relaterat

7 svar · 1 028 visningar · startad av abortmission

abortmissionMedlem sedan dec. 20105 inlägg
#1

Jag behöver hjälp med en sida jag jobbar på. Behövde få sidan mer organiserad, så gjorde om sidan, till iframes. så att menyn inte finns i varje undersida och liknande. Till mina frågor nu:

Hur gör man så att sidan där iframes läses in uppdaterar titelnamn utmed iframesens titel?

Hur gör man så att, varje gång en ny iframe laddas in, skrollas det upp, till toppen på sidan?

Laddar upp en två bilder, på firefox ser allt rätt ok ut, på internetexplorer blir det KAOS, hehe, help me.

sen har jag också markerat att delen som har iframesen i sig har borders eller något på sidan, men dessa borders når inte längst upp och ner, varför har height 100% o liknande.

tacksam för hjälp, lite sömning, så lite av svenskan kan vara fel.

ff.jpgie8.jpg
Danne VMedlem sedan aug. 20068 090 inlägg
#2

Det finns i princip aldrig skäl att över huvud taget använda frames. Dom ställer bara till problem: http://apptools.com/rants/framesevil.php

Så bygg vanliga sidor istället.

abortmissionMedlem sedan dec. 20105 inlägg
#3

Danne V skrev:

Det finns i princip aldrig skäl att över huvud taget använda frames. Dom ställer bara till problem: http://apptools.com/rants/framesevil.php

Så bygg vanliga sidor istället.

Tack så mycket, nu är det så att sidan finns redan byggd på vanlig väg, html, men jag skulle vilja expandera det till iframes, för nu är det svårt att ändra på designen till sidan då ca 3000 html filer måste ändras. Jag kan endast grund webbdesigning.

aides

Danne VMedlem sedan aug. 20068 090 inlägg
#4

Försök då använda SSI (Server Side Includes). Kolla med ditt webhotell om deras server parsar html för includes eller om du måste använda shtml om filnamn.

I korthet innebär SSI att du har viss kod i ett annat dokument. Servern hämtar då koden och lägger in den i sidan och levererar en "komplett" sida till användaren.

Exempel:

Om jag har en html-sida med den här koden:

<html>
<head>
</head>
<body>
<h1>Välkommen till min webbplats!</h1>
<!--#include virtual="text.include" --> 
</body>
</html>

...och alltså en separat fil som jag döpt till "text.include" med den här koden:

<p>Idag ska vi prata om hästar, och inte vilka hästar som helst, utan flodhästar</p>

...så läser servern taggen <!--#include virtual="text.include" -->, hämtar filen, lägger in dess innehåll på taggens plats och skickar iväg följande kod till användarens webbläsare:

<html>
<head>
</head>
<body>
<h1>Välkommen till min webbplats!</h1>
<p>Idag ska vi prata om hästar, och inte vilka hästar som helst, utan flodhästar</p>
</body>
</html>

På så sätt kan man lägga in innehåll från en separat fil utan att använda frames. Tekniken används framför allt för att lägga in t.ex. menyer och footers i alla sidorna på en webbplats. Vill man ändra något i menyn eller footern, så behöver man bara ändra i en enda fil och inte i webbplatsens samtliga sidor.

abortmissionMedlem sedan dec. 20105 inlägg
#5

Danne V skrev:

Försök då använda SSI (Server Side Includes). Kolla med ditt webhotell om deras server parsar html för includes eller om du måste använda shtml om filnamn.

I korthet innebär SSI att du har viss kod i ett annat dokument. Servern hämtar då koden och lägger in den i sidan och levererar en "komplett" sida till användaren.

Exempel:

Om jag har en html-sida med den här koden:

<html>
<head>
</head>
<body>
<h1>Välkommen till min webbplats!</h1>
<!--#include virtual="text.include" --> 
</body>
</html>

...och alltså en separat fil som jag döpt till "text.include" med den här koden:

<p>Idag ska vi prata om hästar, och inte vilka hästar som helst, utan flodhästar</p>

...så läser servern taggen <!--#include virtual="text.include" -->, hämtar filen, lägger in dess innehåll på taggens plats och skickar iväg följande kod till användarens webbläsare:

<html>
<head>
</head>
<body>
<h1>Välkommen till min webbplats!</h1>
<p>Idag ska vi prata om hästar, och inte vilka hästar som helst, utan flodhästar</p>
</body>
</html>

På så sätt kan man lägga in innehåll från en separat fil utan att använda frames. Tekniken används framför allt för att lägga in t.ex. menyer och footers i alla sidorna på en webbplats. Vill man ändra något i menyn eller footern, så behöver man bara ändra i en enda fil och inte i webbplatsens samtliga sidor.

Låter intressant, men man kan väl för säkerhetsskull använda shtml som filändelse, så att om sidan byter webbhotell så fungerar allt fortfarande som det ska?

Och detta sättet är som iframes?

men jag har aldrig använt SSI, skulle vara tacksam om du kunde förklara mer.

Tack för hjälpen.

Danne VMedlem sedan aug. 20068 090 inlägg
#6

abortmission skrev:

Och detta sättet är som iframes?

men jag har aldrig använt SSI, skulle vara tacksam om du kunde förklara mer.

Ja, det "är som iframes" på så sätt att du kan inkludera innehållet från andra, separata dokument. Men med den viktiga skillnaden att det "sammanlagda" innehållet från de olika dokumenten skickas som en enda fil från servern.

Det är faktiskt oerhört enkelt och inte så mycket mer att förklara. Lägg in kodsnutten <!--#include virtual="text.include" --> på rätt ställe, med rätt sökväg till den andra filen.

Och i den andra filen (som du kan kalla vad som helst. "text.include" var bara ett exempel. "tomtebloss.renskav" eller "bananpasta" går lika bra) ska du BARA ha innehållet du behöver. Inget extra som html, head eller body-taggar.

Vill du testa om din server parsar för SSI, så skapa en vanlig textfil med det här innehållet:

<html>
<head
</head>
<body>
<!--#echo var="DATE_LOCAL" --> 
</body>
</html>

Döp filen till t.ex. "ssi-test.html" och en annan identisk men med filnamnet "ssi-test.shtml". Ladda upp till din server och testa vilken av dom som visar aktuell dag och tid. Då ser ut om servern parsar html och/eller shtml.

Vill du veta mer, kolla t.ex. här: http://www.google.com/search?q=about ssi server side includes&ie=utf-8&oe=utf-8

GunnarDMedlem sedan juni 20014 290 inlägg
#7

Men tänk på att den filen du inkluderar skall bara ha den html koden som skall vara där du anger include kommandot. (om det inte framgår av DanneV's svar).

Ex. filen du skall visa:

<html>
<head>
<title>Test av SSI</title>
</head>
<body>
<!--#include virtual="text.include" -->
</body>
</html>

och filen text.include innehåller bara:

<p>Text som inkuderad mha SSI</p>

Det webläsaren då får är:

<html>
<head>
<title>Test av SSI</title>
</head>
<body>
<p>Text som inkuderad mha SSI</p>
</body>
</html>

Skillnaden mellan SSI och iframe är att med iframe så kan du inkludera hela websidor, nackdelen är då att du kör frames :)

doridoriMedlem sedan juni 2006244 inlägg
#8

Exakt samma sak går att åstadkomma med PHP eller .NET om du har tillgång till det.

T.ex
<?php include('inkludera_mig.html') ?>

145 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)