Du kan använda vilken filändelse som helst på servern. Det enda viktiga är
att du talar om för klienten (WAP-browsern/Gatewayen) vad det är som skickas.
När jag besöker denna sidan via mobilen funkar den inte, men i gelon funkar den kanon.
Är jag blind idag? :OO
news.asp
<%response.ContentType = "text/vnd.wap.wml"%>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
connect.open "Wapbas"
sql = "select top 15 * from nyheter order by id desc"
set rs=connect.execute(sql)
Datum=FormatDateTime(Now,2)
%>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="main" title="Fredrik">
<p>
<%
if not rs.eof then
do until rs.eof
%>
<small>
<a href="news_spec.asp?id=<%=rs("id")%>"><%=rs("rubrik")%>, <i>(<%response.write day(rs("datum")) & "/" & month(rs("datum"))%>)</i></a><br/>
</small>
<%
rs.movenext
loop
end if
%>
</p>
<%
rs.close
set rs=nothing
connect.close
set connect=nothing
%>
</card>
</wml>
vilket betyder att det enda som får stå mellan <a> och </a> är kombinationer av text, <br /> eller <img />...
Du får alltså inte använda <i> inom <a> sådär...
Wap-nallefoner (och Gateways etc) kräver att koden är 100% korrekt för att ens bry sig om att försöka presentera något...
Gelon är nog bra för att visa upp WAP-sidor, men eftersom de inte kontrollerar att din kod är korrekt, utan bara "gör det bästa av situationen" som vilken webbläsare som helst - så rekommenderar jag att man alltid kollar sin WML-kod i en XML-redigerare innan man kollar på Gelon... (WML är ju ett XML-baserat format)...
Eller att man använder verktygen i SDK:n för den telefon du vill använda för att titta på sidan...
Eller att man slangar ut wml-sidan som "text/xml" istället för som "text/vnd.wap.wml" och kollar på den i en nyare Explorer (den validerar XML-kod numera)
Bra (och gratis) xml-redigerare du kan använda för valideringen: http://xmlcooktop.com
Jag har försökt att följa wml-standarden, men får ändå inte koden att fungera. Får samma fel msg som innan :(
Det är kanske någon som ser ljuset i tunneln, eller i alla fall ett mötande tåg? :e :e
<%
Response.ContentType = "text/vnd.wap.wml"
startdag = Date() - Weekday(Date(), 2)+1
slutdag = Date() - Weekday(Date(), 2) + 7
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "event"
SQLStmt = "SELECT * From kalender WHERE datum BETWEEN #" & startdag & "# AND #" & slutdag & "# ORDER BY datum ASC"
Set RS = Connect.Execute(SQLStmt)
Dim kalender()
redim kalender(7,1)
dim i
i = 0
Do while not RS.EOF
If i = 0 then
kalender(i,0) = rs("Datum")
kalender(i,1) = rs("Aktivitet")
i = i+1
else
if kalender(i-1,0) = rs("Datum") then
kalender(i-1,1) = kalender(i-1,1) &"<b>,</B><br>"& rs("Aktivitet")
else
kalender(i,0) = rs("Datum")
kalender(i,1) = rs("Aktivitet")
i = i+1
end if
end if
RS.Movenext
Loop
Function Check_dag(datum)
Check_dag = ""
for j = 0 to UBound(kalender)
if Datediff("d",datum,kalender(j,0)) = 0 then
Check_dag = j
end if
next
end function
%>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="main" title="Event"
<p>
<small>Vecka <%=DatePart("ww", Date(), 2, 2)%>
<br/>
(<%=Day(startdag)%>/<%=Month(startdag)%>-<%=Day(slutdag)%>/<%=Month(slutdag)%>)
<br/>
<br/>
<%
akt_datum = CDate(startdag)
for k = 0 to Datediff("d",startdag,slutdag)
temp_chk = Check_dag(akt_datum)
Dagnamn = WeekdayName(Weekday(akt_datum))
Dagnamn = UCase(Mid(Dagnamn,1,1)) & Mid(Dagnamn,2,10)
Dag1 = Left(Dagnamn, 3)
%><%If temp_chk <> "" then%>
<b>
<%=Dag1%>
</b>
<br/>
<%=kalender(temp_chk,1)%><%else%>
<b>
<%=Dag1%>
</b>
<%end if%>
<br/>
<%akt_datum = Dateadd("d",1,akt_datum)%><%next%>
</small>
<%
RS.Close
Connect.Close
%>
</p>
</card>
</wml>
Svårt att säga...
Om den resulterande WML-koden är korrekt beror helt på om du får ha ett <br/> just där i den resulterande koden och vad som råkar finnas i rs("text1")...
264 ms totalt · 3 externa anrop · v20260731065814-full.a4a6ad0e