webForumDet fria alternativet

Kolla ifall browser uppnåt krav

9 svar · 758 visningar · startad av jwradhe

jwradheMedlem sedan juni 2002711 inlägg
#1

Har byggt en sida där en viss version av Mozilla & IE har en lägsa version krav.
Men om man surfar in med en sida som ej uppfyller detta så kommer man in idag ändå och allt funkar skit, så jag tänkte försöka fixa en check som kollar va man har för version och sen kolla upp det mot minikrav och godkänna ifall man får komma in eller ifall det blir stop "din internetbrowser stödjs ej".

Någon som har en bra lösning på denna?? :S

StefanGMedlem sedan sep. 2007166 inlägg
#2

Varför vill du göra checken i Java? Om det är lowend-browsers du vill blockera/redirecta så är ju chansen stor att din applet (vilket det ju blir fråga om i så fall) aldrig exekverar och din kontroll blir totalt verkningslös.

Känns väldigt bakvänt.

jwradheMedlem sedan juni 2002711 inlägg
#3

Kan även ske i annat språk man kan baka in, för sidan är på JSP.

Vill godkänna Mozilla 1.5.0.5 och uppåt samt IE 6.0.2900.2180 och uppåt.

andra webbrowsers ska inte kunna gå in på sidan efter inloggning.

headbugMedlem sedan sep. 2006867 inlägg
#4

/edit: jaha :)

LimeMedlem sedan sep. 2001961 inlägg
#5

Du tittar på headern User-Agent i det HTTPRequest som kommer och baserat på den informationen så agerar man. Kolla t.ex. på http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/Servlet-Tutorial-Request-Headers.html.

Jag hittade den här koden i mitt template-bibliotek.

<%
String ua = request.getHeader( "User-Agent" );
boolean isFirefox = ( ua != null && ua.indexOf( "Firefox/" ) != -1 );
boolean isMSIE = ( ua != null && ua.indexOf( "MSIE" ) != -1 );
response.setHeader( "%_PROJECT%", "User-Agent" );
%>
nitro2k01Medlem sedan aug. 20039 342 inlägg
#6

Flyttas från Java.

JSP = J2EE, därför flyttades tråden.

jwradheMedlem sedan juni 2002711 inlägg
#7

Lime skrev:

Du tittar på headern User-Agent i det HTTPRequest som kommer och baserat på den informationen så agerar man. Kolla t.ex. på http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/Servlet-Tutorial-Request-Headers.html.

Jag hittade den här koden i mitt template-bibliotek.

<%
String ua = request.getHeader( "User-Agent" );
boolean isFirefox = ( ua != null && ua.indexOf( "Firefox/" ) != -1 );
boolean isMSIE = ( ua != null && ua.indexOf( "MSIE" ) != -1 );
response.setHeader( "%_PROJECT%", "User-Agent" );
%>

Lime, ja nu får jag ut på ett ungefär va det är för browser, Tex mozilla får jag fram version i alla smet, (mcyket text) men IE så står det endast MSIE6 å inget mera. Hur ska ja få ihop denna kod med en check som kollar att verkligen inget annat än Mozilla 1.5.0.5 och uppåt samt IE 6.0.2900.2180 och uppåt godkäns?

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

Jag tvivlar på att du kan kolla detta öht.

Att kolla webbläsarens Useragent är ju ofta meningslöst eftersom ganska många använder en läsare men sett till att den utger sig för att vara en annan.

jwradheMedlem sedan juni 2002711 inlägg
#9

Så ja kommer aldrig kunna kolla vilken version besökarna har?

LimeMedlem sedan sep. 2001961 inlägg
#10

jwradhe skrev:

Så ja kommer aldrig kunna kolla vilken version besökarna har?

Nope, egentligen inte. Bara vilken de påstår sig vara. Jag måste t.ex. påstå att jag är en IE6 när jag kör Mozilla5 mot intranätet för annars vägrar den... trots att Firefox 2 får intranätet att bete sig som folk... något IE6 aldrig gör.

Men jo, du kan även parsa ut hela strängen och kolla efter vissa sub-strängar. Det finns specat någonstans hur User-Agent headern ska vara formaterad. Min kod kollar bara om det är Mozilla eller IE.

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