webForumDet fria alternativet

Anpassa sidor efter webbläsare/upplösning

ASP

12 svar · 465 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Jag vill få lite information om besökarens system. Vilken webbläsare samt upplösning på skärmen. Detta för att kunna specialanpassa framesetet.

Har lyckats göra detta med javascript.
Fast då blir det på flera sidor jag vill helst ha allt på en sida. Alltså bara ett frameset som anpassas efter besökaren.

De variabler jag vill ha ut är
webbläsare: Netscape 4-6, Netscape 6+, explorer 4+
Upplösning: 640, 800, 1024, 1280+

Det är vikitigt att just särskilja netscape 6 med de äldre eftersom den haterar frames på samma sätt som explorer.

Går detta att göra med ASP eller måste jag använda Javascript och kan jag då få ut dessa varibler på ett bra sätt.

Så här tänkte jag att det kanske skulle se ut lite enkelt.

<%
'///Upplösningsfunktion///
IF screen = 800 THEN
     page = sida1.asp
END IF
IF screen = 1024 THEN
     page = sida2.asp
END IF

'///Webbläarfunktion////
IF webbläsare = netscape 4-6 THEN
  frameset = 1
IF webbläsare = explorer 4+ or netscape 6+
ELSE 
response.redirect "felsida.asp"

IF frameset = 1 THEN

response.write "<frameset cols=""280,*"">"
response.write "<frame src=""meny.asp"">"
response.write "<frame src=""<%=page%>"">"
response.write "</frameset>"
END IF

IF frameset = 2 THEN

response.write "<frameset cols=""300,*"">"
response.write "<frame src=""meny.asp"">"
response.write "<frame src=""<%=page%>"">"
response.write "</frameset>"
END IF
%>

------------------
Adde

Medlem sedan okt. 2001208 inlägg
#2

Använder man inte browscaps för det?

Medlem sedan okt. 2001208 inlägg
#3

Nåt sånt här kanske?

<% Set Browscap = Server.Creatobject("MSWC.BrowserType") %>
<% If Browsap.Browser ="IE" AND Browsap.MajorVer = "5" or = "4" Then%>
<% omdirigeringskod %>
<% If Browsap.Browser ="NetScape" AND Browsap.MajorVer = "6" Then %>
<% omdirigeringskod %>
<% If Browsap.Browser ="NetScape" AND Browsap.MajorVer = "5" or = "4" Then%>
<% omdirigeringskod %>
<% ElseIF %>
Vad kör du för wäbbläsare?
<% End IF %>

Hittade tyvärr inget om skärm upplösningar .. men jag gissar på att du kan använda något Javascript till det..

[Redigerat av cHeMiCaL-X den 23 okt 2001]

Medlem sedan okt. 2001208 inlägg
#4

Ingen annan som vet ifall man kan få reda på upplösningen med Browscaps?

[Redigerat av cHeMiCaL-X den 24 okt 2001]

Medlem sedan juni 200032 967 inlägg
#5

Browscap analyserar endast HTTP_USER_AGENT. Där finns inte den informationen. Så som jag se det är du tvungen att använda javascript på klienten för att plocka fram skärmupplösningen.

Mvh,

------------------
All your base are belong to me.

Medlem sedan jan. 20013 406 inlägg
#6

Jag fick lösa det hela med javascript och scicka värdena till asp variabler.

------------------
Adde

Medlem sedan mars 2001243 inlägg
#7

Du får gärna tala om hur du gjorde det med kod! Skulle uppskatta det eftersom även jag har försök pula med detta... Tack i så fall

------------------
http://www.hutters.net

Medlem sedan jan. 20013 406 inlägg
#8

Självklart delar jag med migav koden iceM2.

Använde javascriptet från dreamweaver för att kolla browsern och ett annat script som jag hittade här för att kontrollera upplösningen.

Explorer och netscape 6 visar rätt sida. Har inte hunnit pröva med netscape 4 om den visar rätt. Kan vara något fel med IF satserna. Om det är någon som har ett tips på hur man kan få ner koden eller en bättre lösning så är det alltid välkommet.

<% 

browser = Request( "browser" )
frame   = Request( "frame" )
screen  = Request( "screen" )

Select Case screen
  case 1
    pics = "pics.asp"
  case 2
    pics = "pics2.asp"
  case 3
    pics = "pics3.asp"
  case Else 
    pics = "pics2.asp"
end select

IF browser <> 2 THEN
  browser = 1
END IF

response.write "<html>"
response.write "<head>"
response.write "<title>Titeln på sidan</title>"

IF frame = "" THEN
IF browser = 1 THEN
%>
<script language="JavaScript">
<!--
function MM_checkBrowser(NSvers,NSpass,NSnoPass,IEvers,IEpass,IEnoPass,OBpass,URL,altURL) { //v4.0
  var newURL='', verStr=navigator.appVersion, app=navigator.appName, version = parseFloat(verStr);
  if (app.indexOf('Netscape') != -1) {
    if (version >= NSvers) {if (NSpass>0) newURL=(NSpass==1)?URL:altURL;}
    else {if (NSnoPass>0) newURL=(NSnoPass==1)?URL:altURL;}
  } else if (app.indexOf('Microsoft') != -1) {
    if (version >= IEvers &#0124;&#0124; verStr.indexOf(IEvers) != -1)
     {if (IEpass>0) newURL=(IEpass==1)?URL:altURL;}
    else {if (IEnoPass>0) newURL=(IEnoPass==1)?URL:altURL;}
  } else if (OBpass>0) newURL=(OBpass==1)?URL:altURL;
  if (newURL) { window.location=unescape(newURL); document.MM_returnValue=false; }
}

function MM_checkPlugin(plgIn, theURL, altURL, autoGo) { //v4.0
  var ok=false; document.MM_returnValue = false;
  with (navigator) if (appName.indexOf('Microsoft')==-1 &#0124;&#0124; (plugins && plugins.length)) {
    ok=(plugins && plugins[plgIn]);
  } else if (appVersion.indexOf('3.1')==-1) { //not Netscape or Win3.1
    if (plgIn.indexOf("Flash")!=-1 && window.MM_flash!=null) ok=window.MM_flash;
    else if (plgIn.indexOf("Director")!=-1 && window.MM_dir!=null) ok=window.MM_dir;
    else ok=autoGo; }
  if (!ok) theURL=altURL; if (theURL) window.location=theURL;
}
//-->
</script>
<script name="Used by MM_checkPlugin" language="javascript">
<!--
with (navigator) if (appName.indexOf('Microsoft')!=-1 && appVersion.indexOf('Mac')==-1) document.write(''+
'<scr'+'ipt language="VBScript">\nOn error resume next\n'+
'MM_dir = IsObject(CreateObject("SWCtl.SWCtl.1"))\n'+
'MM_flash = NOT IsNull(CreateObject("ShockwaveFlash.ShockwaveFlash"))\n</scr'+'ipt>');
//-->
</script>
<% END IF 
END IF
IF frame = "" THEN
IF browser = 1 THEN %>
<script language="JavaScript">
<!--
function MM_checkBrowser(NSvers,NSpass,NSnoPass,IEvers,IEpass,IEnoPass,OBpass,URL,altURL) { //v4.0
  var newURL='', verStr=navigator.appVersion, app=navigator.appName, version = parseFloat(verStr);
  if (app.indexOf('Netscape') != -1) {
    if (version >= NSvers) {if (NSpass>0) newURL=(NSpass==1)?URL:altURL;}
    else {if (NSnoPass>0) newURL=(NSnoPass==1)?URL:altURL;}
  } else if (app.indexOf('Microsoft') != -1) {
    if (version >= IEvers &#0124;&#0124; verStr.indexOf(IEvers) != -1)
     {if (IEpass>0) newURL=(IEpass==1)?URL:altURL;}
    else {if (IEnoPass>0) newURL=(IEnoPass==1)?URL:altURL;}
  } else if (OBpass>0) newURL=(OBpass==1)?URL:altURL;
  if (newURL) { window.location=unescape(newURL); document.MM_returnValue=false; }
}
//-->
</script>
<% END IF
END IF
response.write "</head>"
IF frame = "" THEN
  response.write "<body onLoad=""MM_checkBrowser(5.0,0,1,4.0,0,2,2,'index.asp?browser=2','felsida.asp?fel=2');MM_checkPlugin('Shockwave Flash','','felsida.asp?fel=3',false);return document.MM_returnValue"">"

%>
<script language="JavaScript">
<!--
if (navigator.appName == "Netscape"){
tools=java.awt.Toolkit.getDefaultToolkit();
skarm=tools.getScreenSize();
resolution = skarm.width + "x" + skarm.height;
}
else{resolution = screen.width + "x" + screen.height;}

if (resolution == "640x480")
{
location.href="felsida.asp?fel=1"; 
}
if (resolution == "800x600")
{
location.href="index.asp?screen=1&frame=1"; 
}
if (resolution == "1024x768")
{
location.href="index.asp?screen=2&frame=1"; 
}
if (resolution == "1280x1024")
{
location.href="index.asp?screen=3&frame=1"; 
}
//-->
</script>
<%
END IF
IF frame = "" THEN
IF browser = 2 THEN
  response.write "<body onLoad=""MM_checkBrowser(4.0,0,2,4.0,1,2,2,'index.asp?browser=1','felsida.asp?fel=2');return document.MM_returnValue"">"
%>
<script language="JavaScript">
<!--
if (navigator.appName == "Netscape"){
tools=java.awt.Toolkit.getDefaultToolkit();
skarm=tools.getScreenSize();
resolution = skarm.width + "x" + skarm.height;
}
else{resolution = screen.width + "x" + screen.height;}

if (resolution == "640x480")
{
location.href="felsida.asp?fel=1"; 
}
if (resolution == "800x600")
{
location.href="index.asp?screen=1&frame=2"; 
}
if (resolution == "1024x768")
{
location.href="index.asp?screen=2&frame=2"; 
}
if (resolution == "1280x1024")
{
location.href="index.asp?screen=3&frame=2"; 
}
//-->
</script>
<%
END IF
END IF
IF frame = 1 THEN

  response.write "<frameset framespacing=""0"" border=""0"" frameborder=""0"" cols=""775,*"">"
  response.write "<frameset rows=""132,*,40"">"
    response.write "<frame name=""meny"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize src=""meny.asp"" target=""_self"">"
    response.write "<frameset cols=""20,415,20,200,20,100"">"
      response.write "<frameset rows=""15,*,15"">"
      response.write "<frame name=""tom3"" src=""tom.htm"" scrolling=""no"" noresize target=""_self"" marginwidth=""0"" marginheight=""0"">"
        response.write "<frame name=""bord_v"" target=""_self"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize src=""bord_v.asp"">"
        response.write "<frame name=""vanster4"" scrolling=""no"" noresize src=""tom.htm"" target=""_self"">"
      response.write "</frameset>"
      response.write "<frameset rows=""15,*,15"">"
      response.write "<frame name=""bord_n1"" src=""bord_n.asp"" target=""_self"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize>"
        response.write "<frame name=""text"" target=""_self"" marginwidth=""0"" marginheight=""0"" scrolling=""auto"" noresize src=""start.asp"">"
        response.write "<frame name=""bord_s2"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize src=""bord_s2.asp"" target=""_self"">"
      response.write "</frameset>"
      response.write "<frameset rows=""15,*,15"">"
      response.write "<frame name=""tom4"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize src=""tom.htm"" target=""_self"">"
        response.write "<frame name=""bord_o2"" src=""bord_o.asp"" target=""_self"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize>"
        response.write "<frame name=""tom5"" src=""tom.htm"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"">"
      response.write "</frameset>"
      response.write "<frameset rows=""15,*,15,0%"">"
      response.write "<frame name=""bord_n2"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"" src=""bord_n.asp"">"
        response.write "<frame name=""news"" marginwidth=""0"" marginheight=""0"" scrolling=""auto"" noresize target=""_self"" src=""start2.asp"">"
        response.write "<frame name=""news1"" src=""bord_s2.asp"" target=""_self"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize>"
        response.write "<frame name=""tom6"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"" src=""tom.htm"">"
      response.write "</frameset>"
      response.write "<frameset rows=""15,*,15"">"
      response.write "<frame name=""tom8"" src=""tom.htm"" scrolling=""no"" target=""_self"" marginwidth=""0"" marginheight=""0"">"
        response.write "<frame name=""bord_o2"" src=""bord_o.asp"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"">"
        response.write "<frame name=""tom9"" src=""tom.htm"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"">"
      response.write "</frameset>"
      response.write "<frameset rows=""15,*,15"">"
      response.write "<frame name=""tom10"" src=""tom.htm"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"">"
        response.write "<frame name=""pics"" src="""& pics &""" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize>"
        response.write "<frame name=""tom11"" src=""tom.htm"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"">"
      response.write "</frameset>"
    response.write "</frameset>"
    response.write "<frame name=""vanster2"" src=""bord_s.asp"" scrolling=""no"" noresize target=""_self"" marginwidth=""0"" marginheight=""0"">"
  response.write "</frameset>"
  response.write "<frame name=""tom_o"" src=""tom.htm"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"">"
  response.write "<noframes>"
  response.write "<body topmargin=""0"" leftmargin=""0"">"
  response.write "</body>"
  response.write "</noframes>"
response.write "</frameset>"

END IF

IF frame = 2 THEN

  response.write "<frameset framespacing=""0"" border=""0"" frameborder=""0"" cols=""775,*"">"
  response.write "<frameset rows=""132,*,40"">"
    response.write "<frame name=""meny"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize src=""meny.asp"" target=""_self"">"
    response.write "<frameset cols=""20,415,20,200,20,100"">"
      response.write "<frameset rows=""15,*,15"">"
      response.write "<frame name=""tom3"" src=""tom.htm"" scrolling=""no"" noresize target=""_self"" marginwidth=""0"" marginheight=""0"">"
        response.write "<frame name=""bord_v"" target=""_self"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize src=""bord_v.asp"">"
        response.write "<frame name=""vanster4"" scrolling=""no"" noresize src=""tom.htm"" target=""_self"">"
      response.write "</frameset>"
      response.write "<frameset rows=""15,*,15"">"
      response.write "<frame name=""bord_n1"" src=""bord_n.asp"" target=""_self"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize>"
        response.write "<frame name=""text"" target=""_self"" marginwidth=""0"" marginheight=""0"" scrolling=""auto"" noresize src=""start.asp"">"
        response.write "<frame name=""bord_s2"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize src=""bord_s2.asp"" target=""_self"">"
      response.write "</frameset>"
      response.write "<frameset rows=""15,*,15"">"
      response.write "<frame name=""tom4"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize src=""tom.htm"" target=""_self"">"
        response.write "<frame name=""bord_o2"" src=""bord_o.asp"" target=""_self"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize>"
        response.write "<frame name=""tom5"" src=""tom.htm"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"">"
      response.write "</frameset>"
      response.write "<frameset rows=""15,*,15,0%"">"
      response.write "<frame name=""bord_n2"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"" src=""bord_n.asp"">"
        response.write "<frame name=""news"" marginwidth=""0"" marginheight=""0"" scrolling=""auto"" noresize target=""_self"" src=""start2.asp"">"
        response.write "<frame name=""news1"" src=""bord_s2.asp"" target=""_self"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize>"
        response.write "<frame name=""tom6"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"" src=""tom.htm"">"
      response.write "</frameset>"
      response.write "<frameset rows=""15,*,15"">"
      response.write "<frame name=""tom8"" src=""tom.htm"" scrolling=""no"" target=""_self"" marginwidth=""0"" marginheight=""0"">"
        response.write "<frame name=""bord_o2"" src=""bord_o.asp"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"">"
        response.write "<frame name=""tom9"" src=""tom.htm"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"">"
      response.write "</frameset>"
      response.write "<frameset rows=""15,*,15"">"
      response.write "<frame name=""tom10"" src=""tom.htm"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"">"
        response.write "<frame name=""pics"" src="""& pics &""" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize>"
        response.write "<frame name=""tom11"" src=""tom.htm"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"">"
      response.write "</frameset>"
    response.write "</frameset>"
    response.write "<frame name=""vanster2"" src=""bord_s.asp"" scrolling=""no"" noresize target=""_self"" marginwidth=""0"" marginheight=""0"">"
  response.write "</frameset>"
  response.write "<frame name=""tom_o"" src=""tom.htm"" marginwidth=""0"" marginheight=""0"" scrolling=""no"" noresize target=""_self"">"
  response.write "<noframes>"
  response.write "<body topmargin=""0"" leftmargin=""0"">"
  response.write "</body>"
  response.write "</noframes>"
response.write "</frameset>"

END IF

response.write "</body>"
response.write "</html>"
%>

------------------
Adde

Medlem sedan dec. 19996 522 inlägg
#9

Ett tipps, det är jobbigt för servern att skriva ut alla dina response.writar, inte så snabbt

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

Medlem sedan jan. 20013 406 inlägg
#10

Ska jag låta det vara ren html kod?
Jag har läst någon gång här i webforum att man kan göra någon förenkling av response write är de snabbare?

------------------
Adde

Medlem sedan feb. 20012 412 inlägg
#11

Hej!

Skriv istället:

Response.write "rad nr 1" & _
" rad nr 2" & _
" rad nr 3"

eller kan du använda with för att minska antalet respons.write

mvh Jörgen :)

------------------
Varför bråka när man kan kramas?

Medlem sedan okt. 20005 273 inlägg
#12

Men With funkar bara med ASP 3.0 ;)

------------------
Icaaq, mannen med korven. (!)

Medlem sedan jan. 20013 406 inlägg
#13

Ska pröva med det som jörgen skrev

------------------
Adde

271 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
144 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)