|
| Hente header fra statisk fil Fra : Rune Jensen |
Dato : 24-04-10 02:21 |
|
Jeg ville gerne - i første omgang som et forsøg - hente en statisk fil
igennem en dynamisk fil, men sådan at den dynamiske fil "overtager"
header fra den statiske fil:
Lad os sige, jeg henter den dynamiske fil: fil.asp?filnavn=text.txt
Og at denne fil så skal have både header og indhold fra text.txt. Dette
er for at den så sender last-modified mv. (som jeg ikke selv ved særligt
meget om) og så jeg ikke behøver rode med det.
Er det muligt?
MVH
Rune Jensen
| |
Stig Johansen (24-04-2010)
| Kommentar Fra : Stig Johansen |
Dato : 24-04-10 03:24 |
|
Rune Jensen wrote:
> Er det muligt?
Ja.
Kig efter jslibrary.asp i den backup du har.
Den tager en stribe (js) filer som input, og tjekker op mod if-modified og
last-modified.
--
Med venlig hilsen
Stig Johansen
| |
Stig Johansen (25-04-2010)
| Kommentar Fra : Stig Johansen |
Dato : 25-04-10 10:26 |
|
"Stig Johansen" <wopr.dk@gmail.com> wrote in message
news:4bd2569e$0$277$14726298@news.sunsite.dk...
> Rune Jensen wrote:
>
> > Er det muligt?
> Ja.
> Kig efter jslibrary.asp i den backup du har.
> Den tager en stribe (js) filer som input, og tjekker op mod if-modified og
> last-modified.
Tilbagemeldinger er åbenbart ikke oppe i tiden, men hvis andre skulle have
samme problem, så kommer koden her:
.....
<%@ LANGUAGE = VBScript%><%Option Explicit%><%
Dim Lastmodified
Dim Ifmodified
Dim Filelist
Dim fcounter
Dim fso
Dim thisfile
Dim thisdate
Filelist = split(Request.QueryString("f"),",")
if uBound(Filelist) < 0 then
Response.Write "no arguments found"
Response.end
end if
LastModified=0
set fso = CreateObject("Scripting.FileSystemObject")
' Find last modified
for fcounter = 0 to uBound(Filelist)
thisdate =
fso.GetFile(Server.MapPath(filelist(fcounter)+".js")).DateLastModified
if thisdate > LastModified then LastModified = thisdate
next
Response.AddHeader "Last-Modified",XMLDatetime(LastModified)
Response.ContentType = "text/javascript"
if Request.QueryString("d")>"!" then
Response.AddHeader "Content-disposition","attachment;
filename="""+Request.QueryString("d")+".js"""
end if
Ifmodified = Request.ServerVariables("HTTP_IF_MODIFIED_SINCE")
if Ifmodified < "!" then
Ifmodified = 0
else
'Response.Write "if modified" + DatetimefromXML(ifmodified)
Ifmodified = cDate(DatetimefromXML(ifmodified))
end if
if LastModified <= Ifmodified then
Response.Status = "304 Not modified"
Response.end
end if
' modified, serve the content
for fcounter = 0 to uBound(Filelist)
Response.Write
fso.OpenTextFile(Server.Mappath(filelist(fcounter)+".js"),1).readall
next
' Response.Write vbCrLf+"Last modified= " + XMLDatetime(LastModified)+vbCrLf
'---------------------------------------------------------------------------
-----------
Function XMLDatetime (Datetime)
Dim Weekdaynames
Dim Monthnames
Weekdaynames = Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
Monthnames =
Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec
")
XMLDatetime = Weekdaynames(DatePart("w",Datetime)-1) + ", " + _
cStr(DatePart("d",Datetime)) + " " + _
Monthnames(DatePart("m",Datetime)-1) + " " + _
cStr(DatePart("yyyy",Datetime)) + " " + _
cStr(DatePart("h",Datetime)) + ":" + _
cStr(DatePart("n",Datetime)) + ":" + _
cStr(DatePart("s",Datetime)) + " GMT"
end Function ' XMLDatetime
'---------------------------------------------------------------------------
-----------
Function DatetimefromXMLold (DatetimeXML)
Dim Months
months = "JanFebMarAprMayJunJulAugSepOctNovDec"
Dim Y,M,D,H,N,S
'Mon, 04 Jan 2010 23:28:50 GMT
D = mid(DatetimeXML,6,2)
M = instr(months,mid(DatetimeXML,9,3)) \ 3 + 1
Y = mid(DatetimeXML,13,4)
H = mid(DatetimeXML,18,2)
N = mid(DatetimeXML,21,2)
S = mid(DatetimeXML,24,2)
DatetimefromXML= DatetimeXML+"/"+Y+"-"+cStr(M)+"-"+D+" "+H+":"+N+":"+S
end Function ' XMLDatetime
'---------------------------------------------------------------------------
-----------
Function DatetimefromXML (DatetimeXML)
Dim Months
months = "JanFebMarAprMayJunJulAugSepOctNovDec"
Dim Y,M,D,H,N,S
'Mon, 04 Jan 2010 23:28:50 GMT
Dim DateArray
Dim TimeArray
DateArray = split(DatetimeXML," ")
D = DateArray(1)
M = instr(months,DateArray(2)) \ 3 + 1
Y = DateArray(3)
TimeArray = split(DateArray(4),":")
H = TimeArray(0)
N = TimeArray(1)
S = TimeArray(2)
DatetimefromXML= Y+"-"+cStr(M)+"-"+D+" "+H+":"+N+":"+S
end Function ' XMLDatetime
'---------------------------------------------------------------------------
-----------
%>
.....
--
Med venlig hilsen/Best regards
Stig Johansen
| |
Rune Jensen (25-04-2010)
| Kommentar Fra : Rune Jensen |
Dato : 25-04-10 10:43 |
|
Den 25-04-2010 11:26, Stig Johansen skrev:
> "Stig Johansen"<wopr.dk@gmail.com> wrote in message
> news:4bd2569e$0$277$14726298@news.sunsite.dk...
>> Rune Jensen wrote:
>>
>>> Er det muligt?
>> Ja.
>> Kig efter jslibrary.asp i den backup du har.
>> Den tager en stribe (js) filer som input, og tjekker op mod if-modified og
>> last-modified.
>
> Tilbagemeldinger er åbenbart ikke oppe i tiden, men hvis andre skulle have
> samme problem, så kommer koden her:
Rolig nu, jeg er i gang ;)
Men takker for svar, selvfølgelig, og jeg har også lavet en (ret tidlig)
test af det inklusive minify, men den er ikke færdig, eftersom jeg er
ved at overveje forskellige parametre.
Jeg lægger en tilbagemelding i aften, jeg skal til føsdag nu.
MVH
Rune Jensen
| |
Rune Jensen (25-04-2010)
| Kommentar Fra : Rune Jensen |
Dato : 25-04-10 10:50 |
|
Den 25-04-2010 11:43, Rune Jensen skrev:
> Den 25-04-2010 11:26, Stig Johansen skrev:
>> "Stig Johansen"<wopr.dk@gmail.com> wrote in message
>> news:4bd2569e$0$277$14726298@news.sunsite.dk...
>>> Rune Jensen wrote:
>>>
>>>> Er det muligt?
>>> Ja.
>>> Kig efter jslibrary.asp i den backup du har.
>>> Den tager en stribe (js) filer som input, og tjekker op mod
>>> if-modified og
>>> last-modified.
>>
>> Tilbagemeldinger er åbenbart ikke oppe i tiden, men hvis andre skulle
>> have
>> samme problem, så kommer koden her:
>
> Rolig nu, jeg er i gang ;)
>
> Men takker for svar, selvfølgelig, og jeg har også lavet en (ret tidlig)
> test af det inklusive minify, men den er ikke færdig, eftersom jeg er
> ved at overveje forskellige parametre.
>
> Jeg lægger en tilbagemelding i aften, jeg skal til føsdag nu.
>
>
> MVH
> Rune Jensen
| |
Rune Jensen (25-04-2010)
| Kommentar Fra : Rune Jensen |
Dato : 25-04-10 11:05 |
|
Den 25-04-2010 11:50, Rune Jensen skrev:
>> Jeg lægger en tilbagemelding i aften, jeg skal til føsdag nu.
Nå, så fandt jeg alligevel prototypen:
Det eneste jeg har gjort på denne er at ændre .js til .css og så
indsætte korrekt content-type:
http://www.webdesigngruppen.dk/temp/join.asp?f=main,meeting
...som er en "sammensmeltning" af main-css og meeting.css i
http://www.webdesigngruppen.dk/temp/main.css
http://www.webdesigngruppen.dk/temp/meeting.css
Du har en parameter "d", jeg ikke har kigget på. Jeg overvejer en lidt
anden fremgangsmåde, så man skal vælge udfra hard coded fillist (tal),
det er bare at indsætte i array, og så kan man skrive tal i stedet for
filnavne. Jeg er ikke så god til at have det direkte i querystring.
Derudover, en parameter for minify/not minify.
Yderligere blev jeg vidst stuck ret længe i "e-tag", som jeg ikke kan
finde ud af, om har betydning, og i givet fald hvor. Det er noget med
cashing.
....jeg er ikke færdig med at kigge på mulighederne i det, som sagt, og
igen tak for svaret, Stig.
MVH
Rune Jensen
| |
Stig Johansen (25-04-2010)
| Kommentar Fra : Stig Johansen |
Dato : 25-04-10 11:35 |
|
Rune Jensen wrote:
> Rolig nu, jeg er i gang ;)
Jeg er skam helt rolig, men kom i tanke om jeg gav det svar som jeg sellv
hader...
Svaret var 'ja', uden at give en løsning, og det gavner ikke vore fremtidige
Google're - derfor min posting af løsningen.
--
Med venlig hilsen
Stig Johansen
| |
Rune Jensen (25-04-2010)
| Kommentar Fra : Rune Jensen |
Dato : 25-04-10 20:20 |
|
Den 25-04-2010 12:35, Stig Johansen skrev:
> Rune Jensen wrote:
>
>> Rolig nu, jeg er i gang ;)
>
> Jeg er skam helt rolig, men kom i tanke om jeg gav det svar som jeg sellv
> hader...
>
> Svaret var 'ja', uden at give en løsning, og det gavner ikke vore fremtidige
> Google're - derfor min posting af løsningen.
Helt i orden - jeg kan sikkert supplere indenfor et par timer eller tre.
Jeg er ved at sætte et par test-sider op, så man kan se (og forhåbentlig
på en eller anden måde måle) forskellen på før og efter.
PS.: Jeg har foreløbig kun en løsning til minify via replace på
white-space - godt nok har jeg fundet en regex til at fjerne
CSS-kommentarer også, men det var C-kode, sikkert til .NET. At lave det
selv, ved jeg sguitte rigtigt, om jeg tør.
MVH
Rune Jensen
| |
|
|