Nuværende løsning er, at siden automatisk tilpasses browserstørrelsen. Derfor ville jeg gerne have, at scriptet i stedet lavede tilføjelse til filnavnet på anvendte billedfiler, så fremstår lige store uanset browserstørrelsen.
f.eks. 1.jpg til 1_800.jpg, hvis browserstørrelsen er 800x600, og 1_1024, hvis 1024x768 etc. Jeg sidder med et andet script, som måske kunne bruges til at kombinere med det første. <script language=\"JavaScript\"> <!-- function swapin(myid) { document.all[myid].src = \"images/\"+ myid +\"_on.jpg\"
Det er ikke sådan, at jeg skal lave billedskift ved mouseover, men der skal skabes forudsætning for en aspkode <% if \"forudsætning1280\" then %> <img src=1_1280.jpg> <% else %> <img src=1_800.jpg> <% end if %> Jeg er ikke nogen ørn til javascript, og kunne godt trænge til lidt hjælp.
Det du tester på window.screen.width er størelsen på hele brugerens skærm, hvad med istedet at teste på hvor stort et browservindue han giver dig at vise siden i?
if ( document.all && ! navigator.userAgent.indexOf(\'Opera\')>=0 ) var winBred = document.body.clientWidth; else var winBred = window.innerWidth;
Ups window.screen.width skal jo udskiftes med winbred i alle if sætningerne: if (winBred >= 1280) { URL = \"1280\"; } else if (winBred >= 1152) { URL = \"1152\"; ...
/jacoba Du mener altså, at ovennævnte giver mig værdien \"bredde\", som jeg så kan bruge i min asp-kode?? Jeg er ikke interesseret i, hvilken størrelse vindue brugeren anvender - kun størrelsen på browseren:/ Hvordan mener du så, koden skal se ud? ellers er jeg helt med...
:/Det er netop derfor jeg skal bruge forskellige billedstørrelser!
Mvh.
Synes godt om
Slettet bruger
16. november 2001 - 18:59#5
Størrelsen af browseren og størrelsen af vinduet er i mine ører præcis det samme. Men du mener vist brugerens opløsning, har jeg ret? Så kan du nemlig bare gøre således:
if (window.screen.width >= 1280) URL = \"1280\"; else if (window.screen.width >= 1152) URL = \"1152\"; else if (window.screen.width >= 1024) URL = \"1024\"; else if (window.screen.width >= 800) URL = \"800\"; else if (window.screen.width >= 640) URL = \"640\"; else URL = \"800\"; self.location.href = \"filnavn.asp?bredde=\" + URL;
window.screen.width giver hele skærmens bredde fra kant til kant, det er som regel kønne runde talt som dem der testes opimod i din test: 640, 800, 1024, 1280, ...
Hvis brugeren har sin browser maximeret er hans vindues størrelse det samme som skærmstørrelsen. Men ved opløsninger over 800 vælger mange at køre med en mindre browservindue. det er så Winduets bredde, eller browserens bredde, den kan du få med: if ( document.all && navigator.userAgent.indexOf(\'Opera\')==-1 ) var winBred = document.body.clientWidth; else var winBred = window.innerWidth;
Jeg synes det er bedst at måle på vinduets bredde :-))
Så bruger du IE, ikke? Og har placeret scriptet i head. Jeg burde have sagt at document.body.clientWidth ikke må aflæses før efter <body kommandoen. det er først da at IE har oprette body objektet i document.
Hmm hvis $bredde er sat skal den test vel slet ikke genereres, er det ikke et andet dokument der skal redirectes til, hvor du bruger bredden til at sætte de korrekte mål.
Ok, men asp kode afvikles på serveren, idet den genererer en side at sende til klienten. Når siden er sendt er ASP stort set ude af billedet.
Så data der findes på klienten skal sendes retur til serveren (fx via en location.href = \"filnavn.asp?bredde=\"+winBred før de kan have nogen effekt på kode asp skal generere.
var urlpar = self.location.search.substr(1); urlpar = urlpar.split(\"=\"); if ( urlpar.length == 2 && urlpar[0]==\'bredde\' ) { var bredde = urlpar[1]; } else { // bredde er ikke defineret // så her indsætter vi javascript koden til at finde winBred og sende den til servern. }
Jamen du har jo lige beregnet br. Javascript (på klienten) VED hvad br er.
vi skal have den værdi overfør til ASP. og ASP virker ikke på klienten. Det virker KUN på serveren.
vi kan ikke aktivere din asp kode lokalt på klienten. vi er nødt til at sende værdien til serveren på en eller anden måde fx med: self.location.href = \"dennefil.asp?br=\"+br; og asp så gennemgår den fil kan asp sige br = Request.QueryString(\"br\"); og bruge den variabel til at skrive de rigtige ting i den fil der så bliver sendt til browseren (klienten).
Ja du har ret. Javascriptet afvikles på klientsiden og ASP udelukkende på serveren.
Meeennn Jeg mener man kan lægge br-værdien ind i et hidden inputfelt i en form. Problemet er at få skrevet javakoden til dette felt.
Formen kan eventuelt fyres fra en gennemsigtig gif(submit) i bunden af siden ved body onload, den del af problemet kan jeg godt løse - det er javakoden (funktionen), jeg ikke kan hitte ud af..
Du skal nok have hjælp af en der kender ASP meget bedre end jeg. Jeg vil anbefale du flytter spørgsmålet over i asp kaegorien og ser om ikke der er nogen der kan klare det der. ref: http://www.eksperten.dk/spm/134929
ja, det vil sende den korrekte værdi til dit asp script i filen filnavn.asp
mvh JakobA
Synes godt om
Ny brugerNybegynder
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.