14. september 2001 - 10:17Der er
20 kommentarer og 2 løsninger
DOM og save-method
Hvorfor kan jeg ikke få lov at gemme lokalt med funktionen:
function _createXML() { var root, newChild; var xmlDoc = new ActiveXObject \"Msxml2.DOMDocument.3.0\"); xmlDoc.async = false; xmlDoc.load(\"../../Shared/Xml/conditionsXML.xml\");
Ja, lad være! Hvis du ikke har noget imod, din maskine bliver hamrende usikker, altså. Hvis det er brugere, der skal gøre det - så drop det totalt! /mvh
Hvordan kan jeg kan jeg så loade gemme evt. ændringer i mit XML-dok, hvis det ikke kan gøres med xmlDoc.save(\"../../Shared/Xml/conditionsXML.xml\"); ?
\'Save As\' i menu\'en. Hvis du bruger 11/2 sekund til at tænke efter, hvad der ville være af muligheder for at rode i en brugers maskine - sniffe home-banking-info m.m.m, vil du ikke være i tvivl om, det ikke lader sig gøre uden brugerens aktive medvirken. ...og *tak* for det :) /mvh
Den kode du skriver ser god nok ud, men den hører nok hjemme i et serverside script som du så aktiverer ved at submitte en form fra browseren (efter først at have testet de submittede data GRUNDIGT, så du er sikker på det ikke er noget hackerfis du ikke ønsker gemt på serveren.
function saveXML(xmlDoc) { var fso = new ActiveXObject(\"Scripting.FileSystemObject\"); var forWrite = 2; a = fso.OpenTextFile(\"d:\\\\kode\\\\editor\\\\shared\\\\xml\\\\conditionsXML.xml\", forWrite, false); a.Write(xmlDoc.xml); a.Close(); }
Jeg har egentligt bare udskiftet linjen .save med ovenstående funktion og det virker fint!
Fordi der er du hjemme på din egen computer hvor du per default har \'administrator\' rettigheder. Når du kikke på en webside har du kun \'gæst\' rettigheder og det er ikke meget.
for at gøre det på en server skal den kode der gør det ligge på serveren (fx PHP eller ASP). Så en måde du kunne føre det er at submitte dine data i en formular og så have et php-script på serveren der skriver de data ud i en fil.
Måske, du skulle checke dine stier - og ikke mindst brugen af store og små bogstaver i mappe- og filnavne. Der er ikke rigtig koncensus...prøv at se stierne i det eksempel, der ikke virker og i det, der virker for dig :) /mvh
Ok - jeg har fundet en noget, der er lidt interresant (med lidt hjælp):
Det virker tilsyneladende omvendt med sikkerhed når det gælder DOM og .save.... Hvis jeg requester siden fra en server, kan jeg godt gemme lokalt, men hvis jeg requester siden lokalt, vil den ikke gemme lokalt @€£$%\"#¤
HVAD HEL.... ER DET FOR NOGET CRAP???
Her er noget kode I kan leje med for at teste om jeg har ret!
var xmlDoc = new ActiveXObject(\"Msxml2.DOMDocument\"); xmlDoc.async = false; pi = xmlDoc.createProcessingInstruction(\"xml\", \"version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"\"); xmlDoc.appendChild(pi); var a = xmlDoc.createElement(\"root\"); xmlDoc.appendChild(a); a.text= \"hej\";
Jeg har prøvet og det virker ikke... Jeg har valgt at bruge et FileSystemObject istedet og så skrive teksten direkte i filen! Det virker fint indtil videre.
Hvis I løser problemet med .save, må I meget gerne skrive til mig:
tboise@mail.dk
Tak for jeres interesse! /Mvh Herchin
Synes godt om
Ny brugerNybegynder
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.