23. oktober 2000 - 21:11Der er
22 kommentarer og 1 løsning
Check om frame er loaded
Jeg har brug for at i et popupvindue(popwin), som jeg skaber loader jeg en andens frameset ind, men der er en bestemt frame(textfield), jeg venter på bliver loaded !!
iMac...en af verdens mest solgte enkelt-maskiner! Det handler jo ikke kun om browsere - også om styresystemer og hardware. Men, hvis man på den anden side insisterer på at forære internettet til et enkelt firma, så er det jo ikke til at hamle op med. Man må jo på den anden side sige, at MS er dygtige - at de kan få folk til at gøre det...og så ovenikøbet, mens de samme folk sidder og griner ad det...tjahhhhhh...?!? /mvh
readyState property\'en virker da på både Mac og Unix.. brock>> MEN kun fra IE 5.0 frem :-(
ldanielsen + ole>> <skælmsk> Fair nok, jeg kan da så udemærket godt forstå at i er stolte af at få noget til at virke i netscape 4.. ;-) </skælmsk>
<realistisk?> Men når nu store onde Microsoft har lavet en property der gør livet lettere for mig, skal jeg så lade være med at bruge den? </realistisk!>
Ud over det gør jeg selv mit bedste for at skrive netscape-kompatibel kode, der er bare tit problemer med det, og gerne problemer man må bruge ekstremt dodgy workarounds for at løse... Jeg skulle lige til at forklare i en uendelighed, men jeg tror sgu jeg laver et stort spørgsmål til mine eksempler i stedet for...
Av...DET må du lige vise mig, hvordan jeg får til at virke på en Mac! Jeg er godt nok i Stockholm de næste to dage, men når jeg kommer hjem, vil jeg med stor interesse kaste mig ud i en test af et eksempel ;o)
Selvfølgelig er det da fair nok at være stolt over at kunne programmere til NS...det kræver nemlig, men kan sin HTML-syntaks! Så fejltollerant IE er, er der vel ingen, der kan blive stolt over at se, ens arbejde bare fungerer der...eller...(?) ;O))
Realistisk --> Ja...det er de færreste kunder, der vil finde sig i, deres side kun kan ses under Windows i IE5+...så deeeeeeeeeeeeeet... /mvh
Nixen, det script jeg leder efter skal kunne understøtte både IE og NS - ellers kan jeg ikke bruge dem - jeg troede faktisk, at det var en simpelt ordre, som både understøttede NS/IE - hmmm
Hvis det ikke eksisterer er det jo noget skidt, men så kan man måske dele koden op ved disse browsere som understøtter ReadyState benyt den 2) de browsere som Ikke understøtter Readystate benyt f.eks. setTimeout
brock>> Well, ce\'st la vie (jeg har aldrig lært fransk, så evt. fejl er bare ærgelige) - Når vi først kommer igang med vores Jihad(IE/NS) skal der meget til at stoppe os ;-)
Understøtte NS ... hmmmm... altså, så vidt jeg har forstået loades html-dokumentet stringent lineært, så man kan vel teste på det sidste objekt på frame dokumentet, i stil med if (netscape) { if top.frameNavn.document.testDiv!=
doh! sorry, jeg fik vist lige submittet lidt for hurtigt... altså: if (top.frameNavn.document.testDiv.typeOf()!=\"undefined\") eller sådan noget, i stedet for readystate-propertyen.. Nej, det du gør er naturligvis i frame2_onload() at sætte en variabel angiver OK, dvs, frame2.htm: <html><head><script language=\"Javascript\"> loaded=false;</script> ... ... <script language=\"Javascript\"> loaded=true; </body></html>
Denne variabel kan du så teste på med et timeoutLoop. Jeg har ikke testet det, men hvis ikke det vil må du jo lige sige til .. ole>>OLE ;0) (nixen>>NIXEN, husker du?) Her er hvad MSDN har at sige: readyState Property
Retrieves the current state of the object being downloaded.
Syntax
HTML N/A Scripting [ sState = ] object.readyState
Possible Values
sState Variant that receives one of the following values:uninitialized Object is not initialized with data. loading Object is loading its data. loaded Object has finished loading its data. interactive User can interact with the object even though it is not fully loaded. complete Object is completely initialized.
The property is read-only. The property has no default value.
Expressions can be used in place of the preceding value(s), as of Microsoft® Internet Explorer 5. For more information, see Dynamic Properties.
Remarks
Each object determines which of the five states it exposes.
All objects, except OBJECT, that expose the readyState property return the value as a string. The OBJECT tag returns an integer in the range of 0 (uninitialized) through 4 (complete).
apropos fejl: Nej, der må jeg give dig 100% ret - jeg læste en antagelse af at MERE END 50% af koden i IE4 udelukkende var til for at håndtere fejl-HTML
eller sådan noget, i stedet for readystate-propertyen.. Nej, det du gør er naturligvis i frame2_onload() at sætte en variabel angiver OK, dvs, frame2.htm: <html><head><script language=\"Javascript\"> loaded=false;</script>
det tror jeg ikke lige helt jeg forstår!!!
Det jeg har brug for er at måle om en fremmed side (hvis framesæt jeg kender) er blevet loaded med den specifikke frame
Derudover kan IE4 heller ikke forstå ReadyState?
Kan man måle om den enkelte browser understøtter en given kommando? f.eks. checkbrowser(\'ReadyState\') etc...
By the way - Jeg er med på Jihad\'en (SkodScape) skulle dø (ups den er jo død) så begraves da, før den begynder at stinke (ups- den stinker jo allerede)
MS kan åbenbart ikke beslutte sig for, hviken case, det skal skrives med - skriver forskelligt forskellige steder ;o) Følg spm. her på Eksperten og du vil se, at 80% af dem, der handler om kode, der ikke virker i NS, skyldes folk ikke kan HTML-syntaksen. Det retter IE for dem - og de lærer aldrig at programmere! Til gengæld kalder de NS for SkodScape, hvilket sikkert også er nemmere og mindre smertefuldt, end at se sandheden i øjnene ;o)
brock >> Skal det virke X-browser + X-platform og det ikke er dine filer, der loades ind i dit frameset, kan du ikke fjern-aflæse det - uden videre! Du vil dog sikkert kunne gøre således:
Denne fil kalder du f.eks: \'noget.shtml\'...bemærk \'s\' i \'.shtml\'! \'noget.shtml\' skal så loades ind i dit frameset i stedet for fjern-filen. Så kan du have en variabel i dit frameset, du kalder \'loaded\'. Den vil du kunne spørge til med små mellemrum og når den bliver \'true\' er din fjern-fil loaded. Dette hack kræver dog, din udbyder understøtter SSI (Server Side Include). /mvh
Hej OleBole - Jo, min udbyder understøtter ISS(5), hvilket er en nødvendighed, da jeg er ASP-programmør. Angående Netscape er der flere ting, jeg ikke kan lide ved den, f.eks at den ikke regner frame ud i pixel, men i procent, det giver en unøjagtighed, som stiller begrænsniner samt dens måde at håndtere tabeller på (tro mig- jeg ved, hvad jeg taler om) derudover er der flere af NS-versioner, som gør, at hvis du kører en tabel i en tabel i en tabel, hvori der indgår aspkode samt grafik, dykker NS og tager hele win98,2nd edition med sig så maskinen skal coldbootes - Det er en alvorlig fejl set i mine øjne (+ nogle programmører ude fra Stibo Programmering Viby Århus ) men nuvel igen er der også problemer med IE - en af de store er at MS udvikler nye ting, som de ikke vedligeholder og udvikler (samt huske at sætte ind i nye versioner) - f.eks. ie 4.5 (5) på Mac - damn en gang rod fra MS, but still IE har nogle gode features, og indtil IE3 var NS da den sejeste browser - problemet er bare, at de ikke har fået at videreføre udviklingen indenfor deres browser som MS gjorde etc etc etc bla bla bla.
Endelig er Html IKKE programmering, men til nøds \"kodning\" - man programmer vel heller ikke i WORD, når man sætter et brev op bla bla bla.
jeg er langt hen ad vejen enig med brock - men mener at man til stadighed (så længe der er folk der bruger NS - også selv om det er få) bør kode til fuld funktionalitet i NS.
Ang. min kommentar ovenfor - så hører man jo heller ikke læger brokke sig over fx HIV og give den underlige tilnavne fordi man ikke har kunnet få bugt med den endnu.
Når man bliver sur på NS - så bliver man i bund og grund sur på sig selv - fordi man ikke magter at kode så det virker over alt. For det ville jo være den ønskværdige situation - ik\'?
Hvis der er tale om deciderede fejl - så er det naturligvis en anden sag - men pga. funktionalitet - tjaaaah..... :)
Det kan jeg kun give dig ret i - helt enig -> hvis man skal kode er det faktisk en koders pligt at sætte sig ind i de forskellige browsers - Mit udfald mod netscape var også mere ment provokerende end jeg kan tage en saglig diskussion om den. Det som irriterer mig mest er dog dens lidt omstændige tabelhåndtering + det der med frames i procenter -> at så få tilpasset divers layers/iframes kan man jo passende læse om på steinmans side... Det jeg efterlyser er vel en gensidig adoptering fra hhv ie/ns så de tog implementer hinanden - Det vil jo være en god nyhed at to browsere arbejder mod samme mål istedetfor at bekrige hinanden og blive mere og mere forskellige. Jep. det var vist det!
Hørt! Selvom jeg er mest til IE ville det være super-lækkert om man kunne blive enige om en fælles (W3C, f.eks) standard. Og så rent faktisk også benytte den...
Det er jo skønt at høre, vi slaet ikke er så langt fra hinanden, som det kunne lyde ;o) Tabel-håndteringen pisser mig ikke så meget af, da jeg synes, den er til at arbejde sig udenom, hvis man kender til \'særhederne\' - frames-fortolkningen derimod er en sand bitch! For det ikke skal være løgn, kan man ikke engang bruge den procent-fortolkning, NS har under Windows, når man ønsker sættet vist under MacOS! :o( Vi arbejder på Framfab for tiden med at afkode denne særhed, men foreløbig uden held! NS6 ser til gengæld meget interessant ud - den tror jeg, der kan blive en monster-browser ud af, selvom vi selvfølgelig får en ekstra DOM, vi skal tage højde for i en periode...vi kan idet mindste ikke brokke os over, vi ikke får mange \'gaver\'! *LOL*
Det lille SSI-indianertrick fandt jeg på, da jeg på et tidspunkt blev bedt om at lave en dynamisk menu i et frameset, hvor menuerne skulle komme til syne i en frame, hvori der blev loaded \'fremmede\' dokumenter. Det er et meget godt eksempel på at:
*** Alt er muligt...det umulige kræver bare lidt mere fantasi - og koster derefter! ***
Nej, selvfølgelig har HTML ikke spor med programmering at gøre...udtrykket er vist blot et udslag af dårlig valgt \'daglig-syntaks\' ;o)) /mvh
In a perfect world ville kun browsere der overholder een og samme standard være tilladt - det er jo faktisk også det det hele lægger op til eftersom HTML jo er en standard!! Så hvorfor ikke sørge for at også clienterne, der skal vise denne standard, er standardiserede!
...hmm - mange standarder i forholdsvis lidt tekst - men jeg håber pointen gik igennem.
/nuno
Synes godt om
Ny brugerNybegynder
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.