JeppewebMedlem sedan sep. 2006512 inlägg
Hej
Scriptet ska uppdatera en sida i en intervall på 10 sek.. fungerar i Firefox men inte i IE.
Varför?
<script language="javascript" type="text/javascript">
<!--
function makeRequest(url) {
var http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/html');
// See note below about this line
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
http_request.onreadystatechange = function() { alertContents(http_request); };
http_request.open('GET', url, true);
http_request.send(null);
}
function alertContents(http_request) {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
document.getElementById('lajvBody').innerHTML = http_request.responseText;
} else {
document.getElementById('lajvBody').innerHTML = 'Ett fel uppstod';
}
}
}
var interval = setInterval("makeRequest('lajv.asp')",10000);
//-->
</script>
JeppewebMedlem sedan sep. 2006512 inlägg
Här komer lajv.asp också..
<% if Session("cminloggad") = "ja" then %>
<body background="lajv_bg.gif" topmargin="3" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<link href="menu.css" rel="stylesheet" type="text/css">
<div id="lajvBody"></div>
<%
Set objRS = objConn.Execute("SELECT * FROM live order by ID Desc limit 1")
Do While Not objRS.EOF
%>
<td style="width:100%" class="tdbg">
<b><font color="#FFFFFF" face="Verdana"><center><a target="contents" href="main.asp?page=2&userid=<%=objRS("ID")%>"><b><%=Fixbug(objRS("anvandarnamn"))%></b></a> : <%=Fixbug(objRS("meddelande"))%></center></font></b></td>
<%
objRS.MoveNext
Loop
objRS.Close : Set objRS = Nothing
%></tr>
</td></div>
<%
End IF
%>
voigtann1Medlem sedan juni 20018 810 inlägg
är inget fel med dina asp koder... AJAX är inte ASP, vad är det som inte fungera... säger inte så mycket med "Fungera i FF men inte i IE"..
Jag är nästan 100% säker på att varför det inte fungera på IE är för att den chachas i IE...
använd en "random" id som inte gör något egentligen förutom att göra sid requesten "unik":
var interval = setInterval("makeRequest('lajv.asp?randID=' + Math.random())",10000);
JeppewebMedlem sedan sep. 2006512 inlägg
Tack gubben du är en ängel :)
Näe men, det funka.
Tack
JeppewebMedlem sedan sep. 2006512 inlägg
Men..
Sidan ger en tendens att hacka ner datorn.. musen fryslaggar var 3sek ungefär. Hur kommer det sig? Det hände inte innan jag la till AJAX scriptet.. !
LarsGMedlem sedan dec. 200012 465 inlägg
JeppewebMedlem sedan sep. 2006512 inlägg
Varför fungerar det inte att skriva åäö tecken för? Uppdaterar sidan med AJAX som innehåller just dom tecknena blir det helknasigt.
T.ex. "tjabba tjena hallå" blir till tjabba tjena hall?center>
Någon som har någon aning?
Tacksam för hjälp!
voigtann1Medlem sedan juni 20018 810 inlägg
Det är för att javascriptet inte kan tolka å ä ö.
Du får göra en enkel funktion i ASP som rättar till å ä ö till "HTML" å ä ö:
function swedishChars(str)
str = replace(str,"Ä","Ä")
str = replace(str,"Å","Å")
str = replace(str,"Ö","Ö")
str = replace(str,"ä","ä")
str = replace(str,"å","å")
str = replace(str,"ö","ö")
swedishChars = str
end function
<%=swedishChars(Fixbug(objRS("anvandarnamn")))%>
Fixbug() funktion är väl din SQL-injection fix. du behöver inte använda den på "ut" data.. det är bara när du kallar det i din SQL du behöver använda det.
du kan även använda istället för SwedishChars funktion HTMLEncode()
JeppewebMedlem sedan sep. 2006512 inlägg