[ASP] Schermresolutie value meegeven aan ASP

Pagina: 1
Acties:

  • Batsies
  • Registratie: Mei 2002
  • Laatst online: 27-01-2022

Batsies

E-Developing

Topicstarter
Hallo allemaal,

Voor een berichtenbox heb ik een scriptje geschreven die woorden die meer dan bepaald aantal tekens lang zijn in stukken knipt, dus vult iemand een woord van 200 letters in dan knipt hij het woord in 4 stukken van 50. Dit scriptje is bedoeld om schermlayout niet te laten vern**ken.

Dit script werkt helemaal correct, alleen wil ik nu aan de hand van de schermresolutie van de gebruiker het lange woord na een bepaald aantal tekens afknippen.

Draait iemand 800 bij 600 dan wordt bijvoorbeeld een lang woord na 50 tekens afgeknipt
Draait iemand 1024 bij 768 dan wordt bijvoorbeeld een lang woord na 100 tekens afgeknipt enz enz enz

De schermresolutie lees ik uit d.m.v een javascript waarin "screen.width" wordt uitgelezen, maar de value na hoeveel tekens hij moet doorknippen moet ik in ASP gebruiken.

Het probleem is dat javascript pas wordt uitgevoerd als de ASP pagina is geladen.

Weet iemand hoe ik toch de schermresolutie van een gebruiker kan uitlezen en aan de hand daarvan een value kan meegeven. (de value is dan na hoeveel tekens hij moet worden afgeknipt).

Alvast bedankt,

E-Developing


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Maak een 'tussenpagina', waarin je de gegevens laadt. Laat vervolgens de breedte in een session neerzetten. Met deze session kan je vervolgens aan de gang gaan.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Batsies
  • Registratie: Mei 2002
  • Laatst online: 27-01-2022

Batsies

E-Developing

Topicstarter
Maar de breedte in een sessie moet ej doorgeven aan html of asp of zie ik het verkeerd, je kan toch niet in javascript een sessie maken of heb ik het mis

E-Developing


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Batsies schreef op 15 april 2003 @ 17:54:
Maar de breedte in een sessie moet ej doorgeven aan html of asp of zie ik het verkeerd, je kan toch niet in javascript een sessie maken of heb ik het mis
ASP:
1
2
3
<%
Response.Write "document.write('" & Session("blaat") & "'_"
%>

Kan best, alleen goed in de gaten houden wat je wanneer doet..

Kijk ook in [rml][ PHP en JS] Variabelen doorzenden[/rml]; geeft op zich wel de goede methodiek.

[ Voor 19% gewijzigd door gorgi_19 op 15-04-2003 17:58 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • cwppol
  • Registratie: Maart 2002
  • Laatst online: 05-01-2025
Je kunt de breedte toch gewoon met een post/get string laten doorgeven? Onload een scriptje de breedte laten bepalen en laten redirecten naar bestand.asp?breedte=(hier met js de waarde invullen)

in de ASP kun je dan met Request("breedte") verder met het uitvoeren van jouw scriptje

(oh en groeten en danken hoeft niet op GoT, lees de FAQ als je daar vragen over hebt)

  • DRAFTER86
  • Registratie: April 2002
  • Laatst online: 20:37
Die methode van cwppol lijkt me beter aangezien die geen cookies gebruikt en dus bij alle gebruikers werkt.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

DRAFTER86 schreef op 15 april 2003 @ 18:45:
Die methode van cwppol lijkt me beter aangezien die geen cookies gebruikt en dus bij alle gebruikers werkt.
Nog eenvoudiger.. Laat ASP het niet oplossen en maak 2 pagina's, waarna je hem redirect naar de goede pagina (of alleen door middel van een querystring).

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Batsies
  • Registratie: Mei 2002
  • Laatst online: 27-01-2022

Batsies

E-Developing

Topicstarter
Ik heb het voor zover opgelost door op 1 pagina deze code te plaatsen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    <script language='JavaScript1.2'> 
<!-- 

if (screen.width==800||screen.height==600) //if 800x600 
    location.href="_volgendepagina.asp?width=800";

else if (screen.width==1024||screen.height==768) //if 1024x768 
    location.href="_volgendepagina.asp?width=1024";

else if (screen.width==1280||screen.height==1024) //if 1280x1024 
    location.href="_volgendepagina.asp?width=1280";

else if (screen.width==1400||screen.height==1050) //if 1400x1050 
    location.href="_volgendepagina.asp?width=1400";
    
else //if all else 
    location.href="_volgendepagina.asp?width=else";


//--> 
</script>


Op de andere pagina heb ik de asp code staan
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<%
session.contents("width") = request.querystring("width")
width = session("width")
Dim variabele
Dim getal
Dim width

'response.write "positie" & positie & "posities"

if width = "800" then

variabele = "800800800800800800800800800800800800800800800800800800800800800800800800"
getal = 10
response.write "width = 800 <br>"
end if

if width = "1024" then
getal = 2
variabele = "102410241024102410241024102410241024102410241024102410241024102410241024"
response.write "width = 1024 <br>"
end if

if width = "1280" then
getal = 30
variabele = "128012801280128012801280128012801280128012801280128012801280128012801280"
response.write "width = 1280 <br>"
end if

if width = "1400" then
getal = 40
variabele = "140014001400140014001400140014001400140014001400140014001400140014001400"
response.write "width = 1400 <br>"
end if

if width = "else" then
getal = 50
variabele = "elseelseelseelseelseelseelseelseelseelseelseelseelseelseelseelseelseelse"
response.write "width = else <br>"
end if

'variabele = "blablablablablablablablablablablablablablablablablabla"
'getal = 10

Response.write "<br>" & cutString(variabele,getal)

%>


in deze pagina heb ik tevens mijn functie geincluded, zoals je ziet vult dit ook een sessie die ik verder wil gebruiken op andere paginas.

Nu komt nog een vraag:

ik werk nu met 2 paginas, maar is dit ook mogelijk in 1 pagina of heeft iemand een idee om het javascript uit te voeren en een sessie te vullen zonder extra paginas te gebruiken?

E-Developing


  • cwppol
  • Registratie: Maart 2002
  • Laatst online: 05-01-2025
jawel... NAdat je je JS hebt laten bepalen hoe groot de pagina is, stuur je een redirect naar dezelfde pagina. Pas als "?width=..." een bepaalde waarde aan je ASP geeft, laat je de pagina zien met behulp van deze variabele.

If not Isnull(Request("width")) then
'pagina hier laten uitvoeren
Else
'hier je JS-pagina laten zien
End if

  • Batsies
  • Registratie: Mei 2002
  • Laatst online: 27-01-2022

Batsies

E-Developing

Topicstarter
Je was aardig opweg, maar "if not isnull" werkte niet, ik heb het veranderd naar <> "" en nu werkt het als een trein, bedankt i.i.g voor de tip
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
<%
If (Request("width")) <> "" then
session.contents("width") = request.querystring("width")
response.redirect "inloggen.asp"
Else
%>
<script language='JavaScript1.2'> 
    location.href = 'resolution.asp?width=' + escape(screen.width)
</script>
<%
End if
%>

E-Developing


  • Batsies
  • Registratie: Mei 2002
  • Laatst online: 27-01-2022

Batsies

E-Developing

Topicstarter
IK heb het toch nog anders gedaan, ik heb een javascript gemaakt die onload gaat werken en in een hidden field iets post, als er op submit van het loginformulier wordt gedrukt dat post ie het mee en dan wordt het in een sessie geknald, ziet eruit als:
ASP.NET Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script>
function vullen()
{
document.getElementById("inloggen").width.value=escape(screen.width) 
}
</script>
<link rel="stylesheet" type="text/css" href="style/text.css">
</head>
<body onLoad="Init(); vullen();">

Begin formulier en eerst een hidden field:

<input type="hidden" name="width" id="width">

verder bovenaan de pagina kijk ik of er gesubmit is en dan maak ik geluid de sessie aan!    


i.i.g hartelijk bedankt voor alle hulp

E-Developing


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 14-08 12:38

Crazy D

I think we should take a look.

Niet om het 1 of ander, maar scherm-resolutie heeft natuurlijk niet zo bar veel te maken met de maat van het browservenster. En wat doe je als de gebruiker fullscreen die site bezoekt, en m daarna van maat verandert? Beetje offtopic misschien, maar zomaar een 1e gedachte die in me opkwam... ;)

Exact expert nodig?

Pagina: 1