Avatar billede gurly Praktikant
04. maj 2007 - 00:03 Der er 16 kommentarer og
1 løsning

få vist en alternativ frame eller besked

Jeg har en side med neden stående indhold
hvis nu serveren som hoster den frame som bliver loadet, den ikke svare / er nede, kan man så indsætte noget i koden så en alternativ frame bliver loadet fra en anden server ?
eller kan man indsætte noget i koden så hvis framen ikke kan loades så bliver der vist en tekst besked i stedet for den defaulte "siden kan ikke vises ?


<html>

  <head>

  <title>title</title>

  </head>

  <frameset cols="100%">
                                                                                                                                                                                                        <frame src="http://www.adressen.htm">
  </frameset>

  <noframes>

  <body>

    <p>Din browser understøtter ikke frames.Gå til Windows Update</p>
    <p>Din browser don´t support frames, go to windows update and update your IE</p>

  </body>

  </noframes>

</html>
Avatar billede roenving Novice
04. maj 2007 - 07:23 #1
Nej, hvis ikke siden kommer fra det samme domæne, har du ingen chancer for at vide, hvad der sker inde i den ...

-- og så er det da i øvrigt en helt tåbelig tekst, du præsenterer, hvis browseren ikke understøtter frames ?-)

-- den stammer med et hurtigt slag på tasken fra 1997, måske skulle den opdateres (eller bare fjernes !-)
Avatar billede gurly Praktikant
04. maj 2007 - 11:26 #2
Ja jeg er klar over at jeg bør erstatte teksen fra 1997 med et link som folk med brovsere der ikke understøtter frame kan klikke på  c",)

altså siden som jeg lagde her over er sådan set ikke en web side, siden ligger i et program / exe fil  som er lavet med et program der hedder "html executable"
programmet kan lave en html fil om til en exe fil.

når en bruger så åbner mit program, som jo indeholder siden med koden herover, så loader den jo så framen "http://www.adressen.htm"  hvis vel at mærke at min server svare, hvilket den ikke gør hvis den er ved at genstarte.
findes der slet ikke en måde hvor man kan få ovenstående side som ligger i programmet, til at loade en alternativ frame fra en anden server hvis "http://www.adressen.htm"  ikke svare ?

eller kunne man lave noget ved ovenstående side så den viser en besked hvis den ikke kan loade framen ?

jeg forstår ikke hvad du mener med følgende > > <
"Nej, hvis ikke siden kommer fra det samme domæne, har du ingen chancer for at vide, hvad der sker inde i den ..."

der skal ikke loades nogen fram fra et domæne jeg ikke selv ejer
Avatar billede mclemens Nybegynder
04. maj 2007 - 13:15 #3
"der skal ikke loades nogen fram fra et domæne jeg ikke selv ejer"
- Det er browsere ligeglade med. Det der sker, er at hvis programmet / html
siden loades fra harddisken og du skal måle på et andet domæne, f.eks. nettet
(uanset om du ejer domænet): Så opfatter browsere det som crosssite scripting,
da domænet der frames, ikke lægger på samme domæne (eller harddisk) som der
hvor framingen sker fra.

Ligesom Roenving siger kan man ikke se op indholdet bliver
loadet eller ej - da man ikke kan checke på om siden blev fundet.
Her er et eksempel der virker i FF:


<html><head><title>title</title>
<script type="text/javascript">
setTimeout("chkit();",3000); // 3 sekunder til chk på load
redirect=true;
function chkit(){
  if(redirect){
    alert("Siden svarer ikke, du viderestilles til yahoo");
    document.getElementsByName("framenavn")[0].setAttribute("src","http://www.yahoo.dk");
  }
}
</script></head>
  <frameset cols="100%">
    <frame src="ensidederikkefindes.html" name="framenavn" onload="redirect=false;">
  </frameset>
</html>


I det tilfælde måles på onload og så sætter redirect til false.
Problemet er at når jeg checker filen, så selvom ensidederikkefindes.html
ikke findes, så starter IE onload af sig selv, da den fejlside der dukker
op aktiverer onload handleren. Og problemet er så at man ikke kan checke
om det er en fejlside der er i window["framenavn"] eller om det er siden.
Avatar billede gurly Praktikant
04. maj 2007 - 13:51 #4
mclemens > > ja dit eksempel virker fint i firefox, det er lige sådan noget jeg havde tænkt på, det er ærgeligt at det ikke virker i explorer, især fordi at mit program kun kan bruge explorer som browser.

nå men så må jeg vel instalere en server på min anden pc også, og så skifte lokal ip adressen 7 port forward når jeg vil genstarte en af maskinerne.

havde håbet på at bruge noget ligende dit eksempel, og så den adresse du har lavet med yahoo.dk  den kunne jeg have lavet som http://www.adressen.htm.81
og så lade serveren på den ene pc køre port 81
så kunne jeg genstarte serveren på port 80 uden at jeg skulle ændre port forward i router først.

men så må jeg lade begge servere køre port 80, og så manuelt skifte  imellem dem med portforward
Avatar billede mclemens Nybegynder
04. maj 2007 - 14:46 #5
Hvad med denne:




<html><head><title>title</title>
<script type="text/javascript">
setTimeout("chkit();",4000); // 4 sekunder til chk på load
redirect=true;

function xmlreq(){

  var xmlobj,xmlres;

  if(window.XMLHttpRequest)xmlobj=new XMLHttpRequest();
  else if(window.ActiveXObject)xmlobj=new ActiveXObject("Microsoft.XMLHTTP");
  else return false;

  xmlobj.open("GET","http://www.dhdgghhgggddgdghghkifjubii.dk/",true);

  xmlobj.onreadystatechange=function(){
    if(xmlobj.readyState==4){
      var xmlres = xmlobj.responseText;
      if(xmlres!="")redirect=false;
    }
  }

  xmlobj.send(null);

}

xmlreq();

function chkit(){
  if(redirect){
    alert("Siden svarer ikke, du viderestilles til yahoo");
    document.getElementsByName("framenavn")[0].setAttribute("src","http://www.yahoo.dk");
  }
}

</script></head>
  <frameset cols="100%">
    <frame src="http://www.dhdgghhgggddgdghghkifjubii.dk/" name="framenavn">
  </frameset>
</html>
Avatar billede mclemens Nybegynder
04. maj 2007 - 14:47 #6
... (Ved godt det er noget fusk :P)
Avatar billede gurly Praktikant
04. maj 2007 - 15:00 #7
hæ hæ hæ, det er bare genialt mclemens, og det virker ogse når jeg ligger det ind i en html "executable fil"

kan man på nogen måde lave det så folk ikke skal klikke på alarten først, den bare automatisk videre stiller ?
Avatar billede mclemens Nybegynder
04. maj 2007 - 15:17 #8
Du fjerner vel bare:
alert("Siden svarer ikke, du viderestilles til yahoo");
Avatar billede gurly Praktikant
04. maj 2007 - 16:27 #9
ja det virker fint
takker mange gange  c",)
ligger du et svar
Avatar billede mclemens Nybegynder
04. maj 2007 - 17:35 #10
Super, her er svaret :o)
Avatar billede roenving Novice
05. maj 2007 - 04:58 #11
Hrm, ja, jeg ville også kalde det noget fusk, men virker det, så er den vel fjong ...

-- men mclemens 04/05-2007 13:15:20 "... frames, ikke lægger på samme domæne ..." og gurly 04/05-2007 16:27:37 "... ligger du et svar ..." bytter præcis om på, hvordan man bruger ligger og lægger ...

-- det hedder nemlig "... frames, ikke ligger på samme domæne ..." og "... lægger du et svar ..." !-)
Avatar billede mclemens Nybegynder
05. maj 2007 - 11:51 #12
Vil gerne bytte ord med Gurly så ;D
Ja, jeg fjumrer tit med det ene ord.
Avatar billede mclemens Nybegynder
05. maj 2007 - 11:54 #13
En lille kommentar til fusket:
Jeg vil anbefale at istedet for:
xmlobj.open("GET","http://www.dhdgghhgggddgdghghkifjubii.dk/",true);
Henter f.eks.:
xmlobj.open("GET","http://www.dhdgghhgggddgdghghkifjubii.dk/on.txt",true);
og at on.txt indeholder et enkelt tegn. Der er ingen grund
til at downloade hele forsiden for at se om siden virkede.
Avatar billede gurly Praktikant
06. maj 2007 - 13:33 #14
lægger, er det ikke noget en utæt beholder gør ?
det er vist ikke det eneste ord jeg plejer at fjumre i

det var smart det sidste de roenving
du burde lægge et svar også, for jeg syntes jeg har snyt dig for point nogle gange nu
Avatar billede mclemens Nybegynder
06. maj 2007 - 13:48 #15
"lægger, er det ikke noget en utæt beholder gør ? "
Den lækker vel bare, hvis den har en lækage ?
http://dk.search.yahoo.com/search?p=%22tanken+l%C3%A6gger%22&fr=yfp-t-501&ei=UTF-8&meta=vc%3D
http://www.google.dk/search?hl=da&client=firefox-a&rls=org.mozilla%3Ada%3Aofficial&hs=XKK&q=%22tanken+l%C3%A6kker%22&btnG=S%C3%B8g&meta=

"det var smart det sidste de roenving"
Jeg hedder MClemens eller bare Clemme :o)

... Det er ok med en deler,
hvis du vil være med Roenving ?
Avatar billede gurly Praktikant
06. maj 2007 - 14:21 #16
nå lækker, jeg troede at det var nick & jay der var det.
nå nu kan jeg åbentbart heller ikke læse mere, jeg havde set det som om at det var roenving´s kommentar, men du får bare pointne så Clemme  c",)
Avatar billede mclemens Nybegynder
06. maj 2007 - 14:24 #17
Hehe, velbekom og tak for point ;)
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