Just nu i M3-nätverket
Gå till innehåll

Vill göra en save as också


JUTE

Rekommendera Poster

hejsan igen :)

har denna kod för att lässa in en fil *txt eller*.htm till en iframe:

 

function LoadFile()

{

CommonDialog1.ShowOpen();

 

var fileName = CommonDialog1.FileTitle;

var fObj = new ActiveXObject("Scripting.FileSystemObject");

 

var f = fObj.OpenTextFile(fileName);

var fileContents = f.ReadAll();

 

f.Close();

var iframeWin = window.message;

iframeWin.document.write(fileContents);

}

men skulle nu vilja göra en som läser iframens innehåll och sparar det på disk, några förslag ?

tack på förhand

 

Länk till kommentar
Dela på andra webbplatser

iframens innehåll kan du läsa av med hjälp av innerText, läs mer på http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/innertext.asp

 

Texten kan sedan sparas med hjälp av FileSystemObject som du använder för att öppna filen, läs mer på http://msdn.microsoft.com/library/en-us/script56/html/jsFSOTutor.asp

 

Om man ska kunna ange filnamnet behövs ju naturligtvis också någon typ av textruta.

 

 

:thumbsup:Poäng till bra inlägg!

---------------------------------

Teknikens underbara värld

http://www.elektroteknik.net

---------------------------------

 

Länk till kommentar
Dela på andra webbplatser

Hej på dig Jocke001 tack för du svarar, men jag fattar inte riktigt hur jaf skall göra, jag har suttit och läst på länkarna du gav, jag har en activex control

commondialog som kommer upp och iframens namn är message, vad jag fattar av länkarna så skall barf.readall ändras till innertext, eller e jag ute å cyklar

 

Länk till kommentar
Dela på andra webbplatser

Vet inte riktigt hur man kommer åt objekt inuti en activex control men så här gör du för att läsa av texten.

innehall = message.innerText;

förutsatt att message är rätt referens till iframen.

Kanske iframeWin.document.innerText funkar bättre.

 

Länk till kommentar
Dela på andra webbplatser

Hej igen Jocke001 tackar för hjälpen, e jag på rätt väg nu ?

function SaveFile(){

CommonDialog1.ShowSave();

 

var fileName = CommonDialog1.FileTitle;

var fObj = new ActiveXObject("Scripting.FileSystemObject");

 

var f = fObj.CreateTextFile(fileName);

var fileContents = message.innerText;

 

f.Close();

 

 

var iframeWin = window.message;

iframeWin.document.write(fileContents);

}

men när jag sparar så kommer det upp undefined i iframen, fattar inte riktigt

 

Länk till kommentar
Dela på andra webbplatser

Det är lite svårt att hjälpa dig eftersom jag inte har den här CommonDialog1, men din funktion SaveFile ser lite konstig ut.

 

Om man går igenom koden rad för rad...

1. Lägg in filnamnet i en variabel, fileName.

2. Skapa ett FSO, fObj.

3. Skapa en textfil, f.

4. Lägg in text i variabel, fileContents.

5. Stäng filen.

6. Skriv in text i iframeWin.

 

Det som fattas är koden som skriver in texten i filen, mellan punkt 4 och 5.

 

När du vill debugga ett script är det mycket användbart att skriva ut variabelvärden med hjälp av en alert, det kanske du redan gör.

 

Du är väl medveten om att du inte kan använda FileSystemObject om du inte har tillgång till något server-script språk? Det kan också användas lokalt i en sk. HTML Application.

 

Länk till kommentar
Dela på andra webbplatser

hallå jocke001 :)

Tack för ditt svar, jag löste det på detta sättet:

function SaveFile()

{

CommonDialog1.ShowSave()

 

var fileName = CommonDialog1.FileTitle;

 

 

 

var fObj = new ActiveXObject("Scripting.FileSystemObject");

var f = fObj.CreateTextFile(fileName, 2);

f.Write(frames.message.document.body.innerHTML); f.Close();

 

}

och det funkar utmärkt, ibland behöver man bara tänka efter liet, inte så bra på det ibland

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...