Avatar billede funkyloonie Nybegynder
02. maj 2002 - 12:28 Der er 10 kommentarer og
1 løsning

Browsertjek ??

Hvor udbredt er browsertjek? Det jeg mener er om alle sider med respekt for sig selv tjekker brugerens browser eller om man kan programmere sig ud af det?

Jeg har prøvet at kigge på sourcen på nogle websites som tv2.dk og lign. Jeg kan ikke finde nogen form for script der tjekker browseren men det kan jo gøres på serversiden...
Avatar billede lyhr007 Nybegynder
02. maj 2002 - 12:36 #1
Korrekt det kan både findes clientside og serverside.

Browseren identifisere sig med en streng, denne kan man selv ændre hvis man vil og det er normalt denne man kigger efter serverside.

clientside, går det normalt på hvilken DOM/dHTML object model browseren understøtter (IE = document.all ...NS = document.layers. osv). Dette bruges så i scripts så de kan kører i alle browsere.
Avatar billede funkyloonie Nybegynder
02. maj 2002 - 12:43 #2
ja, vil du så mene at man altid har browsertjek når vi snakker "store officielle" websider?

jeg skriver en opgave og vil nødigt komme med et udsagn som ikke passer...
Avatar billede pelkjaer Nybegynder
02. maj 2002 - 12:44 #3
Det er ikke så tit man har browsercheck, normalt optimerer man sine sider så de kan ses i de fleste mainstreambrowsere.
Avatar billede lyhr007 Nybegynder
02. maj 2002 - 12:47 #4
En webserver logger stort set altid hvem det er der er på "besøg", altså IP, browserstreng hvormange åbne forbindelser der er til ham etc etc...

Det er fuldstændigt op til den enkelte at bestemme om man vil gemme oplysningerne permanent eller bruge dem til noget fornuftigt.

Browser version er ikke så vigtigt som det har været (stor set IE det hele, og ellers overholder de W3C standard.).

Mange sites vil gerne vide hvad opløsnign på skærmen folk har, hvilke side de ser og hvor langtid de bruger på siten.

Men dette er ikke normalt man logger disse ting
Avatar billede funkyloonie Nybegynder
02. maj 2002 - 12:52 #5
Er man ikke nødt til at kigge på browserversionen.. man kan risikere at et bruger kommer med en gammel udgave af IE f.eks. som ikke understøtter dhtml og css... lader man bare bruger komme ind og få en formentlig skidt oplevelse når siden ikke fungerer... bør man ikke redirecte til en "opgrader din browser side" ?
Avatar billede lyhr007 Nybegynder
02. maj 2002 - 13:24 #6
Det er derfor at man tjekker på DOM/dHTML object model client side. Hvis man i javascript spørger på om den kan document.all så ved man jo ligesom om den kan det. Hvis den ikke kan det svare den null(ingen ting), man fletter så de steder hvor man ved at browsere er forskellige.

note: dHTML er HTML + CSS + JavaScript.

Hvis man kun bruger browserens identifikationsstreng kan man få sig nogen overraskelser, da f.esk. Opera kan sættes til at have IE strengen (selv om det ikke 100% kan det samme som IE).
Avatar billede funkyloonie Nybegynder
02. maj 2002 - 13:35 #7
lyhr007>> har du et ekspempel på det? eller et link til noget kode der kan vise mig det i praksis. jeg kan forstå at der er noget jeg lige må studere lidt nærmere.
Avatar billede lyhr007 Nybegynder
02. maj 2002 - 13:43 #8
altså på clientside detection:

se source her på eksperten :)


..
....
.....
<script language="JavaScript1.2" src="/js/coolmenus/coolmenus4.js">


http://www.eksperten.dk/js/coolmenus/coolmenus4.js
Det er en javascript tekst fil åben den i notepad.

function cm_bwcheck(){
    this.ver=navigator.appVersion
    this.agent=navigator.userAgent.toLowerCase()
    this.dom=document.getElementById?1:0
    this.op5=(this.agent.indexOf("opera 5")>-1 || this.agent.indexOf("opera/5")>-1) && window.opera
    this.op6=(this.agent.indexOf("opera 6")>-1 || this.agent.indexOf("opera/6")>-1) && window.opera
    this.ie5 = (this.agent.indexOf("msie 5")>-1 && !this.op5 && !this.op6)
    this.ie55 = (this.ie5 && this.agent.indexOf("msie 5.5")>-1)
    this.ie6 = (this.agent.indexOf("msie 6")>-1 && !this.op5 && !this.op6)
    this.ie4=(this.agent.indexOf("msie")>-1 && document.all &&!this.op5 &&!this.op6 &&!this.ie5&&!this.ie6)
    this.ie = (this.ie4 || this.ie5 || this.ie6)
    this.mac=(this.agent.indexOf("mac")>-1)
    this.ns6=(this.agent.indexOf("gecko")>-1 || window.sidebar)
    this.ns4=(!this.dom && document.layers)?1:0;
    this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.op5 || this.op6)
    this.usedom= this.ns6//Use dom creation
    this.reuse = this.ie||this.usedom //Reuse layers
    this.px=this.dom&&!this.op5?"px":""
    return this
}
var bw=new cm_bwcheck()
Avatar billede funkyloonie Nybegynder
02. maj 2002 - 13:54 #9
Ok. Tak for Hjælpen. Du får points nu. Kunne du ikke fortælle mig hvad DOM står for. Det ved jeg faktisk ikke...
Avatar billede lyhr007 Nybegynder
02. maj 2002 - 14:01 #10
Tak for point

Document Object Model

Man kan omformate *ML til en træstruktur.



What is DOM?
Nov 21st, 2000 09:02

Michael Claßen





The Document Object Model is a standard defined by the World-Wide-Web
commitee (W3C) for representing XML and HTML document in memory. This
has originally be used for manipulating HTML pages in a browser using
scripting langauges, but has recently moved into various server
applications for accessing XML and HTML documents in a random-access
fashion, for instance when cross-referencing a document. Most DOM
implementations hold the whole document tree in memory which makes this
method less applicable to large documents in these cases.
Avatar billede lyhr007 Nybegynder
02. maj 2002 - 14:02 #11
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
Kurser inden for grundlæggende programmering

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