Hur ser skriptet ut för att kolla vilken webbläsare och versionsnummer besökaren använder?
- Internet Explorer?
- NetScape?
- FireFox?
- Opera?
- Safari
och om det finns några fler....
15 svar · 942 visningar · startad av Calippo
Hur ser skriptet ut för att kolla vilken webbläsare och versionsnummer besökaren använder?
- Internet Explorer?
- NetScape?
- FireFox?
- Opera?
- Safari
och om det finns några fler....
I javascript t ex navigator.appName och navigator.appVersion.
Motfragor, vad ska do ha det till, och i vilket sprak (Eller snarare vill du ha ut informationen pa serversidan eller klientsidan?)
Läste på nätet att man inte ska använda navigator.appName och navigator.appVersion.
Tänkte bara kolla med javascript vilken webbläsare besökaren har så att jag kan ladda rätt sida i browsern. Det är nämligen så att varken FireFox eller Opera kan visa en sida korrekt som är byggd för IE, så jag tänkte göra en separat sida för de övriga webbläsarna.
Jag gjorde en sida med den här kodan:
<script type="text/javascript">
var browser=navigator.appName
var b_version=navigator.appVersion
var version=parseFloat(b_version)
document.write("Browser name: "+ browser)
document.write("<br />")
document.write("Browser version: "+ version)
</script>
och den säger att jag använder Netscape när jag kollar sidan med FireFox och IE när jag kollar sidan med Opera. Så med andra ord så kommer Opera att ladda fel sida.
http://www.apptools.com/phptools/browser/index.php visar rätt, finns det någon liknande kod fast med JavaScript eller ASP?
Den här asp.net koden säger att FireFox är Netscape 5 :(
Annars så visar den infon för IE & Opera korrekt.
<script language="VB" runat="server">
Sub Page_Load(sender as Object, e as EventArgs)
ltlBrowserName.Text = Request.Browser.Type & ", " & Request.Browser.Platform
ltlAllData.Text = "Type = " & Request.Browser.Type & "\<br\>"
ltlAllData.Text &= "Name = " & Request.Browser.Browser & "\<br\>"
ltlAllData.Text &= "Version = " & Request.Browser.Version & "\<br\>"
ltlAllData.Text &= "Major Version = " & Request.Browser.MajorVersion & "\<br\>"
ltlAllData.Text &= "Minor Version = " & Request.Browser.MinorVersion & "\<br\>"
ltlAllData.Text &= "Platform = " & Request.Browser.Platform & "\<br\>"
ltlAllData.Text &= "Is Beta = " & Request.Browser.Beta & "\<br\>"
ltlAllData.Text &= "Is Crawler = " & Request.Browser.Crawler & "\<br\>"
ltlAllData.Text &= "Is AOL = " & Request.Browser.AOL & "\<br\>"
ltlAllData.Text &= "Is Win16 = " & Request.Browser.Win16 & "\<br\>"
ltlAllData.Text &= "Is Win32 = " & Request.Browser.Win32 & "\<br\>"
ltlAllData.Text &= "Supports Frames = " & Request.Browser.Frames & "\<br\>"
ltlAllData.Text &= "Supports Tables = " & Request.Browser.Tables & "\<br\>"
ltlAllData.Text &= "Supports Cookies = " & Request.Browser.Cookies & "\<br\>"
ltlAllData.Text &= "Supports VB Script = " & Request.Browser.VBScript & "\<br\>"
ltlAllData.Text &= "Supports JavaScript = " & Request.Browser.JavaScript & "\<br\>"
ltlAllData.Text &= "Supports Java Applets = " & Request.Browser.JavaApplets & "\<br\>"
ltlAllData.Text &= "CDF = " & Request.Browser.CDF & "\<br\>"
End Sub
</script>
Your browser is: <asp:literal id="ltlBrowserName" runat="server" />
<p>
<b><u>Here is your browser's information:</u></b><br />
<asp:literal runat="server" id="ltlAllData" />
Calippo skrev:
Läste på nätet att man inte ska använda navigator.appName och navigator.appVersion.
Om du bara vill skriva ut en text i stil med "Hej, du anvander Opera" sa ar detta ratt metod, men...
Calippo skrev:
Tänkte bara kolla med javascript vilken webbläsare besökaren har så att jag kan ladda rätt sida i browsern. Det är nämligen så att varken FireFox eller Opera kan visa en sida korrekt som är byggd för IE, så jag tänkte göra en separat sida för de övriga webbläsarna.
...om du ska ha alternativa sidor, sa ar ingen metod ratt. Forsok att gora en sida som funkar i alla webblasare istallet.
Tips: Kolla sa att sidan funkar korrekt i bade FF och Opera, och se strikt till att inte kolla pa de n IE. Nar du har fatt den att funka i bade bade FF och Opera sa kommer den med stor sannolikhet funka aven i IE
Calippo skrev:
och den säger att jag använder Netscape när jag kollar sidan med FireFox och IE när jag kollar sidan med Opera. Så med andra ord så kommer Opera att ladda fel sida.
Netscape och FF bygger pa samma motor sa det ar inte konstigt. Nar det galler Opera gar detta att stalla in da manga sidor forsoker stanga ute Opera-anvandare. Du har isf en gammal version av Opera, nyare versioner visar sig utat som Opera.
Visst vore det bra att få sidan att fungera som den ska i alla webbläsare, men jag bygger på en sida med en massa visuella effekter som ser bra ut i IE, så jag tänkte låta IE användarna få se alla effekter men låta de andra webbläsarna få se en förenklad sida istället. Ska fundera på om jag ska skippa min idé och göra en enda neutral sida istället...
Calippo skrev:
Visst vore det bra att få sidan att fungera som den ska i alla webbläsare, men jag bygger på en sida med en massa visuella effekter som ser bra ut i IE, så jag tänkte låta IE användarna få se alla effekter men låta de andra webbläsarna få se en förenklad sida istället. Ska fundera på om jag ska skippa min idé och göra en enda neutral sida istället...
Att en visuell effekt "ser bra ut i IE" behöver väl inte innebära att sidan blir helt otillgänglig för andra webbläsare? Att det inte ser likadant ut i Opera, Ff, etc är en sak, men det går att få sidan användbar ändå. Antingen ignorerar dom bara alla IE-specifika effekter och visar det dom kan, eller att man har ett alternativ för andra webbläsare som visas "förenklat" på samma sida och plats.
Bland annat så fungerar vissa lager placeringar endast i IE, FireFox och Opera placerar ut dom fel.
Automatisk scroll i en TD med stilen (.Div3{width:100%;height:85%;overflow:scroll;}) funkar endast i IE och Opera (eller var det FireFox)
Calippo skrev:
Bland annat så fungerar vissa lager placeringar endast i IE, FireFox och Opera placerar ut dom fel.
Automatisk scroll i en TD med stilen (.Div3{width:100%;height:85%;overflow:scroll;}) funkar endast i IE och Opera (eller var det FireFox)
Huh? Du måste nog förklara det där lite närmare, gärna med en test-sida på nätet så man ser hur du gjort. Det du kallar "lager" behöver inte vara annat än "standard" CSS, ex.vis div'ar (ev. med z-index) och fungerar lika bra i Ff, Opera, m.fl. som i IE. Det är möjligt att IE visar det vill se, men i 99 fall av hundra är det kodmässigt inte rätt om andra webbläsare inte visar samma sak likadant. :)
Funktionen "overflow" med alla varianter fungerar i alla webbläsare (vad jag vet), men kan visuellt visas något olika. Har du förresten tänkt på att "overflow:scroll" inte är en "automatiskt" scroll (som ska ge en scrollist bara när det behövs)? Det är "overflow:auto" du är ute efter, om du vill ha en "automatisk" scrollist.
Det finns inget säkert sätt att identifiera webbläsare. Webbläsaren kan skicka vad fan den vill som User Agent. Så lägg ner det där...
Den här förenklade sidan av det jag bygger ser inte likadan ut i IE/FF/Opera:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Namnlöst dokument</title>
<style>
.TableMonthMainCalendar{height:96%;padding:0;background-color:white;border-collapse:collapse;border-style:none;}
.TableMonthDayCell{border-style:outset;border-width:1;border-color:gray;text-align:left;vertical-align:top;background-color:#FFFFFF;border-collapse:collapse;}
.SubHeadingBar {background-color:#81A9E2;font-family:arial;font-size:8pt;color:black;font-weight:normal;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#DDECFE', EndColorStr='#81A9E2')}
.MonthDayDiv{width:100%;height:85%;overflow:auto;}
.EventMonthTable{border-style:solid;border-width:1;border-color:black;border-collapse:collapse;border-width:1;text-align:left;background-color:white;padding:1;width:100%;}
.EventMonthTitleFont{font-family:Trebuchet MS;font-size:9px;font-weight:normal;color:black;}
</style>
</head>
<body>
<TABLE WIDTH='100%' CLASS='TableMonthMainCalendar' CELLPADDING=1 CELLSPACING=0>
<tr>
<TD CLASS='TableMonthDayCell' WIDTH='14%'>
<TABLE WIDTH='100%' CELLPADDING=0 CELLSPACING=0 BORDER=0 STYLE='border:1px solid white'>
<TR>
<TD CLASS='SubHeadingBar'><A HREF='fr_day.asp?date=2006-3-21#Eight'>21</A> </TD>
</TR>
</TABLE>
\<DIV CLASS='MonthDayDiv' ID='Day21'\>
\<TABLE CELLPADDING=3 CELLSPACING=0 WIDTH='100%'\>
\<TR\>
\<TD WIDTH='100%'\>
\<TABLE CLASS='EventMonthTable'\>
\<TR\>
\<TD HEIGHT=4 BGCOLOR='#C0C0C0' WIDTH='100%'\>\<FONT CLASS='EventMonthTitleFont'\> \</FONT\>\</TD\>
\</TR\>
\<TR\>
\<TD CLASS='EventMonthTitleCellAllDay'\>\<FONT CLASS='EventMonthTitleFont'\>\<A CLASS='EventMonthTitleFont' HREF="calendar.asp?action=eventdetail&eventid=56118" onclick="NewWindow(this.href,'Calendar','430','500','yes');return false"\>Office\</A\>\</FONT\>\</TD\>
\</TR\>
\</TABLE\>
\</TD\>
\</TR\>
\</TABLE\>
\<TABLE CELLPADDING=3 CELLSPACING=0 WIDTH='100%'\>
\<TR\>
\<TD WIDTH='100%'\>
\<TABLE CLASS='EventMonthTable'\>
\<TR\>
\<TD HEIGHT=4 BGCOLOR='#C0C0C0' WIDTH='100%'\>\<FONT CLASS='EventMonthTitleFont'\> \</FONT\>\</TD\>
\</TR\>
\<TR\>
\<TD CLASS='EventMonthTitleCellAllDay'\>\<FONT CLASS='EventMonthTitleFont'\>\<A CLASS='EventMonthTitleFont' HREF="calendar.asp?action=eventdetail&eventid=56118" onclick="NewWindow(this.href,'Calendar','430','500','yes');return false"\>Office\</A\>\</FONT\>\</TD\>
\</TR\>
\</TABLE\>
\</TD\>
\</TR\>
\</TABLE\>
\<TABLE CELLPADDING=3 CELLSPACING=0 WIDTH='100%'\>
\<TR\>
\<TD WIDTH='100%'\>
\<TABLE CLASS='EventMonthTable'\>
\<TR\>
\<TD HEIGHT=4 BGCOLOR='#C0C0C0' WIDTH='100%'\>\<FONT CLASS='EventMonthTitleFont'\> \</FONT\>\</TD\>
\</TR\>
\<TR\>
\<TD CLASS='EventMonthTitleCellAllDay'\>\<FONT CLASS='EventMonthTitleFont'\>\<A CLASS='EventMonthTitleFont' HREF="calendar.asp?action=eventdetail&eventid=56118" onclick="NewWindow(this.href,'Calendar','430','500','yes');return false"\>Office\</A\>\</FONT\>\</TD\>
\</TR\>
\</TABLE\>
\</TD\>
\</TR\>
\</TABLE\>
\<TABLE CELLPADDING=3 CELLSPACING=0 WIDTH='100%'\>
\<TR\>
\<TD WIDTH='100%'\>
\<TABLE CLASS='EventMonthTable'\>
\<TR\>
\<TD HEIGHT=4 BGCOLOR='#C0C0C0' WIDTH='100%'\>\<FONT CLASS='EventMonthTitleFont'\> \</FONT\>\</TD\>
\</TR\>
\<TR\>
\<TD CLASS='EventMonthTitleCellAllDay'\>\<FONT CLASS='EventMonthTitleFont'\>\<A CLASS='EventMonthTitleFont' HREF="calendar.asp?action=eventdetail&eventid=56118" onclick="NewWindow(this.href,'Calendar','430','500','yes');return false"\>Office\</A\>\</FONT\>\</TD\>
\</TR\>
\</TABLE\>
\</TD\>
\</TR\>
\</TABLE\>
\<TABLE CELLPADDING=3 CELLSPACING=0 WIDTH='100%'\>
\<TR\>
\<TD WIDTH='100%'\>
\<TABLE CLASS='EventMonthTable'\>
\<TR\>
\<TD HEIGHT=4 BGCOLOR='#C0C0C0' WIDTH='100%'\>\<FONT CLASS='EventMonthTitleFont'\> \</FONT\>\</TD\>
\</TR\>
\<TR\>
\<TD CLASS='EventMonthTitleCellAllDay'\>\<FONT CLASS='EventMonthTitleFont'\>\<A CLASS='EventMonthTitleFont' HREF="calendar.asp?action=eventdetail&eventid=56118" onclick="NewWindow(this.href,'Calendar','430','500','yes');return false"\>Office\</A\>\</FONT\>\</TD\>
\</TR\>
\</TABLE\>
\</TD\>
\</TR\>
\</TABLE\>
\<TABLE CELLPADDING=3 CELLSPACING=0 WIDTH='100%'\>
\<TR\>
\<TD WIDTH='100%'\>
\<TABLE CLASS='EventMonthTable'\>
\<TR\>
\<TD HEIGHT=4 BGCOLOR='#C0C0C0' WIDTH='100%'\>\<FONT CLASS='EventMonthTitleFont'\> \</FONT\>\</TD\>
\</TR\>
\<TR\>
\<TD CLASS='EventMonthTitleCellAllDay'\>\<FONT CLASS='EventMonthTitleFont'\>\<A CLASS='EventMonthTitleFont' HREF="calendar.asp?action=eventdetail&eventid=56118" onclick="NewWindow(this.href,'Calendar','430','500','yes');return false"\>Office\</A\>\</FONT\>\</TD\>
\</TR\>
\</TABLE\>
\</TD\>
\</TR\>
\</TABLE\>
\<TABLE CELLPADDING=3 CELLSPACING=0 WIDTH='100%'\>
\<TR\>
\<TD WIDTH='100%'\>
\<TABLE CLASS='EventMonthTable'\>
\<TR\>
\<TD HEIGHT=4 BGCOLOR='#C0C0C0' WIDTH='100%'\>\<FONT CLASS='EventMonthTitleFont'\> \</FONT\>\</TD\>
\</TR\>
\<TR\>
\<TD CLASS='EventMonthTitleCellAllDay'\>\<FONT CLASS='EventMonthTitleFont'\>\<A CLASS='EventMonthTitleFont' HREF="calendar.asp?action=eventdetail&eventid=56118" onclick="NewWindow(this.href,'Calendar','430','500','yes');return false"\>Office\</A\>\</FONT\>\</TD\>
\</TR\>
\</TABLE\>
\</TD\>
\</TR\>
\</TABLE\>
\<TABLE CELLPADDING=3 CELLSPACING=0 WIDTH='100%'\>
\<TR\>
\<TD WIDTH='100%'\>
\<TABLE CLASS='EventMonthTable'\>
\<TR\>
\<TD HEIGHT=4 BGCOLOR='#C0C0C0' WIDTH='100%'\>\<FONT CLASS='EventMonthTitleFont'\> \</FONT\>\</TD\>
\</TR\>
\<TR\>
\<TD CLASS='EventMonthTitleCellAllDay'\>\<FONT CLASS='EventMonthTitleFont'\>\<A CLASS='EventMonthTitleFont' HREF="calendar.asp?action=eventdetail&eventid=56118" onclick="NewWindow(this.href,'Calendar','430','500','yes');return false"\>Office\</A\>\</FONT\>\</TD\>
\</TR\>
\</TABLE\>
\</TD\>
\</TR\>
\</TABLE\>
\<TABLE CELLPADDING=3 CELLSPACING=0 WIDTH='100%'\>
\<TR\>
\<TD WIDTH='100%'\>
\<TABLE CLASS='EventMonthTable'\>
\<TR\>
\<TD HEIGHT=4 BGCOLOR='#C0C0C0' WIDTH='100%'\>\<FONT CLASS='EventMonthTitleFont'\> \</FONT\>\</TD\>
\</TR\>
\<TR\>
\<TD CLASS='EventMonthTitleCellAllDay'\>\<FONT CLASS='EventMonthTitleFont'\>\<A CLASS='EventMonthTitleFont' HREF="calendar.asp?action=eventdetail&eventid=56118" onclick="NewWindow(this.href,'Calendar','430','500','yes');return false"\>Office\</A\>\</FONT\>\</TD\>
\</TR\>
\</TABLE\>
\</TD\>
\</TR\>
\</TABLE\>
\<TABLE CELLPADDING=3 CELLSPACING=0 WIDTH='100%'\>
\<TR\>
\<TD WIDTH='100%'\>
\<TABLE CLASS='EventMonthTable'\>
\<TR\>
\<TD HEIGHT=4 BGCOLOR='#C0C0C0' WIDTH='100%'\>\<FONT CLASS='EventMonthTitleFont'\> \</FONT\>\</TD\>
\</TR\>
\<TR\>
\<TD CLASS='EventMonthTitleCellAllDay'\>\<FONT CLASS='EventMonthTitleFont'\>\<A CLASS='EventMonthTitleFont' HREF="calendar.asp?action=eventdetail&eventid=56118" onclick="NewWindow(this.href,'Calendar','430','500','yes');return false"\>Office\</A\>\</FONT\>\</TD\>
\</TR\>
\</TABLE\>
\</TD\>
\</TR\>
\</TABLE\>
\<TABLE CELLPADDING=3 CELLSPACING=0 WIDTH='100%'\>
\<TR\>
\<TD WIDTH='100%'\>
\<TABLE CLASS='EventMonthTable'\>
\<TR\>
\<TD HEIGHT=4 BGCOLOR='#C0C0C0' WIDTH='100%'\>\<FONT CLASS='EventMonthTitleFont'\> \</FONT\>\</TD\>
\</TR\>
\<TR\>
\<TD CLASS='EventMonthTitleCellAllDay'\>\<FONT CLASS='EventMonthTitleFont'\>\<A CLASS='EventMonthTitleFont' HREF="calendar.asp?action=eventdetail&eventid=56118" onclick="NewWindow(this.href,'Calendar','430','500','yes');return false"\>Office\</A\>\</FONT\>\</TD\>
\</TR\>
\</TABLE\>
\</TD\>
\</TR\>
\</TABLE\>
\<TABLE CELLPADDING=3 CELLSPACING=0 WIDTH='100%'\>
\<TR\>
\<TD WIDTH='100%'\>
\<TABLE CLASS='EventMonthTable'\>
\<TR\>
\<TD HEIGHT=4 BGCOLOR='#C0C0C0' WIDTH='100%'\>\<FONT CLASS='EventMonthTitleFont'\> \</FONT\>\</TD\>
\</TR\>
\<TR\>
\<TD CLASS='EventMonthTitleCellAllDay'\>\<FONT CLASS='EventMonthTitleFont'\>\<A CLASS='EventMonthTitleFont' HREF="calendar.asp?action=eventdetail&eventid=56118" onclick="NewWindow(this.href,'Calendar','430','500','yes');return false"\>Office\</A\>\</FONT\>\</TD\>
\</TR\>
\</TABLE\>
\</TD\>
\</TR\>
\</TABLE\>
\</td\>
</tr>
</table>
</body>
</html>
Det där borde du kunna göra lättare med div'ar. Så funkar det bättra än att fulhacka HTML4-tabeller också.
Calippo skrev:
Den här förenklade sidan av det jag bygger ser inte likadan ut i IE/FF/Opera:
Har du provat med en fullständig Doctype (där även länken finns med) så att sidan renderar i Standards mode istället för som nu i Quirks mode? Jag testade koden lokalt på min PC och så allvarliga skillnader (mellan webbläsarna jag har) såg jag inte i Quirks mode heller, men i Standard mode försvann dessa skillnader helt. Om du ändrar till Standards mode får du kanske ändra lite i koden för att få det att se ut som du vill, men då ser det i alla fall bättre ut i även i annat än IE :)
I varje fall såg jag av ditt exempel inga som helst anledningar att "snoka" på vilka webbläsare besökarna har och styra in dom på alternativa sidor. :h