webForumDet fria alternativet

AJAX Script

8 svar · 881 visningar · startad av Jeppeweb

JeppewebMedlem sedan sep. 2006512 inlägg
#1

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
#2

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
#3

ä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
#4

Tack gubben du är en ängel :)

Näe men, det funka.

Tack

JeppewebMedlem sedan sep. 2006512 inlägg
#5

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
#6

Flyttas från ASP

JeppewebMedlem sedan sep. 2006512 inlägg
#7

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
#8

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,"Ä","&Auml;")
  str = replace(str,"Å","&Aring;")
  str = replace(str,"Ö","&Ouml;")
  str = replace(str,"ä","&auml;")
  str = replace(str,"å","&aring;")
  str = replace(str,"ö","&ouml;")
  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
#9

Tack

Genererad på 377 ms · cache AV · v20260730165559-full.f96bc7eb