From: Pif on
Hello,

I make calculations and many thinks in a page that result in a
javascript table file. I know how to create a CSV string from this
table in JS, but I would like that when the user click on a given
button, the script launchs and generate a file that is dowloadable
using a dialog box without requesting server.

Can you tell me if it is possible and how I can do that ?

This must be compatible with IE6 (and higher) and latest release of
FF.

Thanks a lot for you help !

From: Richard Cornford on
On Nov 26, 9:20 am, Pif wrote:
> I make calculations and many thinks in a page that
> result in a javascript table file. I know how to create
> a CSV string from this table in JS, but I would like that
> when the user click on a given button, the script launchs
> and generate a file that is dowloadable using a dialog
> box without requesting server.
>
> Can you tell me if it is possible and how I can do that ?

It is not impossible, using data URLs.

> This must be compatible with IE6 (and higher) and latest
> release of FF.

IE 6 has no support for data URLs, so it looks like you will need to
use server-side code.

Richard.
From: Jorge on
On Nov 26, 2:47 pm, Richard Cornford <Rich...(a)litotes.demon.co.uk>
wrote:
>
> IE 6 has no support for data URLs, so it looks like you will need to
> use server-side code.

<meta http-equiv="X-UA-Compatible" content="chrome=1">

http://code.google.com/chrome/chromeframe/faq.html
--
Jorge
From: "Michael Haufe ("TNO")" on
On Nov 26, 7:47 am, Richard Cornford <Rich...(a)litotes.demon.co.uk>
wrote:

> IE 6 has no support for data URLs, so it looks like you will need to
> use server-side code.

In IE6 you can use document.execCommand("SaveAs", null, "FileName");

Here an example for saving files in IE 6:

http://4umi.com/web/javascript/filewrite.php?txt=This+is+some+sample+text..%0D%0AThis+is+a+new+line.&filename=C%3A%5CMy+Documents%5Cfilename&ext=utf-8#

For the OP, here's an example of prompting a download with a data uri:

http://thenewobjective.com/temp/save.html

For a plain text file, the uri will look something like this:
"data:text/octet-stream," + FileContents
From: Garrett Smith on
Michael Haufe ("TNO") wrote:
> On Nov 26, 7:47 am, Richard Cornford <Rich...(a)litotes.demon.co.uk>
> wrote:
>
>> IE 6 has no support for data URLs, so it looks like you will need to
>> use server-side code.
>
> In IE6 you can use document.execCommand("SaveAs", null, "FileName");
>

[snip]

Good one!

Next step is to take both and create a cross-browser function and test
it in as many browsers.

Questions about your code:
1) why use - document.body.insertBefore( w ); - instead of appendChild?
3) why use window.open?
--
Garrett
comp.lang.javascript FAQ: http://jibbering.com/faq/