Sitter här och fipplar lite med javascript..tänkte gör en liten behändig js-fil som talar om för mig vad jag har för externt ip...men tje fick jag
Så här ser den fina lilla filen ut:
function getHTML(url){
var MyXMLReq=new ActiveXObject("Microsoft.XMLHTTP"); //skapa XMLHTTP-objektet
if(MyXMLReq){ //Skapat?
MyXMLReq.open("GET",url,false); //Skapar förfrågan att skicka...
MyXMLReq.send(); //...skickar förfrågan...
return(MyXMLReq.responseText); //...och sparkar tillbaka htmlkoden till anropet
}
return null
}
myIP=getHTML("http://whatismyip.com").match(/(\d+\.\d+\.\d+\.\d+)/) //matchar responsetexten från whatismyip.com mot ett ReqExp för ip-nummer
alert(myIP) //visar en alert med ip-nummret i
felet jag får är:
---------------------------
Windows Script Host
---------------------------
Skript: C:\Sökväg\test.js
Rad: 13
Tecken: 1
Fel: Ett objekt förväntas.
Kod: 800A138F
Källa: Körningsfel i Microsoft JScript
---------------------------
OK
---------------------------
Rad 13: alert(myIP)
Jag har även provat med att sätta aynkron överföring till true..och provat använda MyXMLReq.onreadystatechange==4 (4 betyder att sidan är färdg laddad) men jag får alltid samma fel. Förutom vid ett tillfälle då det istälelt inte hände något alls.
Den gången hade jag asynkron överföring igång samt använde onreadystatechange.
Att det skulle vara annan js-kod som stör finner jag högst otroligt då jag endast kör den filen och inget annat genom en dubbelklickning....kan det vara något så skumt att en alert inte stöds av windows script host (att det är specifikt för webbläsare)? När jag kör denna i internet explorer fungerar den ju helt felfritt...
R} Jopp, som jag misstänkte fungerar inte alert här, först måste du definiera ett WScript-skal:
var WshShell = WScript.CreateObject("WScript.Shell")
Sedan får du anropa en popup med det värdet genom:
WshShell.Popup(rt.match(/\d+\.\d+\.\d+\.\d+/));
Så slutvärdet blev alltså:
var WshShell = WScript.CreateObject("WScript.Shell");
function getHTML(url){
var MyXMLReq=new ActiveXObject("Microsoft.XMLHTTP"); //skapa XMLHTTP-objektet
if(MyXMLReq){ //Skapat?
MyXMLReq.open("GET",url,false); //Skapar förfrågan att skicka...
MyXMLReq.send(); //...skickar förfrågan...
return(MyXMLReq.responseText); //...och sparkar tillbaka htmlkoden till anropet
}
return null
}
rt=getHTML("http://whatismyip.com");
if (rt){
WshShell.Popup(rt.match(/\d+\.\d+\.\d+\.\d+/));
}
371 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91