jeg har et forholdsvis stort javascript som bl.a. har dette: { string: navigator.userAgent, subString: "Chrome", identity: "Chrome" },
og denne klamme gentager sig mange gange.
Jeg har nu valgt at ligge alle oplysninger ind i sql server og vil nu loope alle disse klammer ud. men hvordan ? hvordan laver jeg pludselig asp kode midt i en javascript kode?
og af gode grunde ville jeg gerne loope henover alle de klammer istedet for det her. Kan jeg får dig til at skrive en af klammerne med en browser sådan så 1 klamme bliver skrevet ud i asp istedet?
Den kode fylder jo ingen ting, 2,5 kb. Nu er jeg PHP programmør, så skal da ikke udtale mig om ASP, men det kan da også blive svært at lave en løkke når der ikke står det samme fx:
og string: navigator.userAgent, subString: "Firefox", identity: "Firefox"
Desuden det som computeren (ikke serveren) skal læse det samme, som hvis der ikke var ASP i, eftersom det bliver afviklet før JavaScriptet når til brugeren. Men hvis den smule plads betyder noget kan du da prøve at komprimere det fx: http://www.google.dk/search?hl=da&q=compress+javascript&meta= Det vil brugeren få mere glæde af.
Og til arkivet så kan man fx kalde det via: function Browser() { if (BrowserDetect.browser=="Chrome") { document.getElementById('objekt').style.height = '10px'; } }
andreas13_fam > Hvorfor link? Det er jo ikke størrelsen der er problemet, men nærmere en optimering jeg ønsker. En dynamisk måde at disse browsere/os bliver skrevet ud. Således jeg nemt kan tilføje disse til databasen i takt med at der kommer flere browsere/opdaterede versioner på markedet.
Derfor har jeg brug for (i >asp<) at disse klammer bliver skrevet som løkker. Med mindre folk har alternativer.
Hvis tabellen har 3 kolonner, og de kolonner hvor det er relevant er nullable, kan man bare gennemløbe et udtræk af tabellen og generere det scriptkode du efterspørger:
<% sql = "SELECT * FROM dataBrowser" set rs = conn.execute(sql) do while not rs.eof response.write "{" response.write "string: navigator.userAgent" if not isnull(rs("substring")) then response.write ",subString:""" & rs("substring") & """" end if if not isnull(rs("versionsearch")) then response.write ",versionSearch:""" & rs("versionsearch") & """" end if if not isnull(rs("identity")) then response.write ",identity:""" & rs("identity") & """" end if response.write "}"
rs.movenext
' hvis der er flere rækker, så udskriv komma if not rs.eof then response.write "," end if loop rs.close set rs = nothing conn.close set conn = nothing %>
Koden skal indsættes umiddelbart efter
dataBrowser:[
og naturligvis erstatte hele blokken af "browserdata-klammer" ned til
], dataOS...
Den genererede JS vil i øvrigt være pakket, som andreas13_fam er inde på - så det er en Win/Win ;-)
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.