Avatar billede janegil Nybegynder
23. marts 2002 - 23:38 Der er 7 kommentarer og
1 løsning

Microsoft.xmldom.load(http:...)

Jeg har kopert et eksempel på javascript XSL/T fra listing 8-6 i "XML in Action" (MS Press).

Problem: det fungerer godt så lenge jeg åpner html-fila direkte med browseren (file://...) Men hvis jeg henter siden fra en webserver med http:, fungerer det ikke.

Kan noen gi et eksempel på at
Microsoft.xmldom.load()
og
Microsoft.xmldom.transformNode()
fungerer via HTTP ?

Min kode:

<HTML> <HEAD> <TITLE>XML Transformed</TITLE><SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript" EVENT="onload" FOR="window">
var source = new ActiveXObject("Microsoft.xmldom");
source.load("file://localhost/H:/Inetpub/wwwroot/~styrheim/xml/prisliste/prisliste.xml");
//source.load("http://localhost/~styrheim/xml/prisliste/prisliste.xml");
//source.load("http://heima.olivant.fo/~styrheim/xml/prisliste/prisliste.xml");
var style = new ActiveXObject("Microsoft.xmldom");
style.load("file://localhost/H:/Inetpub/wwwroot/~styrheim/xml/prisliste/prisliste.xsl");
//style.load("http://localhost/~styrheim/xml/prisliste/prisliste.xsl");
//style.load("http://heima.olivant.fo/~styrheim/xml/prisliste/prisliste.xsl");
var result = source.transformNode(style.documentElement);
alert(result);
var bodyContent = result;
document.all.item("bodyID").innerHTML = bodyContent;
</SCRIPT>
</HEAD><BODY ID="bodyID"div></div></BODY></HTML>
Avatar billede getalife Nybegynder
24. marts 2002 - 00:55 #1
Jeg havde også samme problem.
Jeg opgav og bruger ASPTear til at hente filen.
Avatar billede janegil Nybegynder
24. marts 2002 - 10:08 #2
Avatar billede janegil Nybegynder
25. marts 2002 - 14:38 #3
Avatar billede janegil Nybegynder
25. marts 2002 - 15:25 #4
oops... På MSDN er det brukt et annet ActiveXobjekt:
var xmldoc = new ActiveXObject("Msxml2.DomDocument.4.0");

Men det gir "Error: Automation server can't create object"
Kanskje det likevel er et spor.

Ekspemlet er fra kapitlet om XML Web Services: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/htm/xslt_processornew_9s4t.asp

Og skulle ikke det fantastiske med ActiveX være at vi kan bruke samme kode til samme ogjekter på både server og klient?
Avatar billede janegil Nybegynder
25. marts 2002 - 18:42 #5
Ha. fikk vite svaret et annet sted (http://experts-exchange.com/jsp/qManageQuestion.jsp?ta=xml&qid=20281184)

source.async = false;
Avatar billede janegil Nybegynder
26. marts 2002 - 08:55 #6
load(file:...) er tydeligvis alltid synkron, mens load(http:...) er default asynkron?

Hvilket forklarer at det subjektivt virker raskere å browse lokale filer via http: enn via file: ?
Avatar billede getalife Nybegynder
26. marts 2002 - 10:38 #7
Virker load(http:...) også fra et eksternt site hos dig?
Jeg kunne ikke få den til at virke andre steder end på localhost.
Avatar billede janegil Nybegynder
26. marts 2002 - 11:08 #8
Ja, nå gjør den det. Men det avhenger nok av sikkerhetsinnstillinger i IE, min er satt til å prompte meg før den henter data fra en annen site, jeg tror nesten standardinnstillingen i IE (for en gang skyld) er strengere enn min innstilling?

For øvrig er vel fremmed XML knapt noen risiko, selv om fremmed XSL er så farlig som fremmed HTML kan bli.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester