Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In Firefox, Write to a File using Javascript?

Situation:- I have created a installation setup(local) that returns a URL eg:- ved.test.com which is mapped to an IP 11.22.33.44. Thus to make the web application accessible after installation, user has to make an entry in the hosts file under "C:\WINNT\system32\drivers\etc" directory explicitly.

Approach:- After the installation application gets completed, application writes the file using Javascript.

Problem:- Writing a File using Javascript is supported in IE. I need a Solution for Firefox. Code used:-

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Write To A File</title>
<script language="javascript">
    function WriteToFile()
    {
    /* The below statement is supported in IE only */
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var s = fso.CreateTextFile("C:\\Test.txt", true);
    s.WriteLine('IE Supports Me!');
    s.Close();
    }
</script>
</head>
    <body onLoad="WriteToFile()">
</body>
</html>

Have also refered the link in SO:- How to read and write into file using JavaScript

Kindly provide a solution that supports writing a file using Javascript that runs in Firefox browser.

Thanks in Advance.

like image 978
vedvrat13 Avatar asked Nov 26 '10 09:11

vedvrat13


2 Answers

You can't do this, for hopefully obvious security reasons. JavaScript has no access to the file system...in IE it's not JavaScript, but ActiveX doing this...it just has a JavaScript API exposed.

The problem isn't that Firefox doesn't do this...it's that IE ever allowed it :)

like image 145
Nick Craver Avatar answered Oct 25 '22 19:10

Nick Craver


You will need to create your own Firefox extension, because reading/writing local files is considered a privileged operation.

Reading/writing files using XPCOM: https://developer.mozilla.org/en-US/docs/Code_snippets/File_I_O. This won't work from your web page but only from privileged code such as extensions.

like image 25
PleaseStand Avatar answered Oct 25 '22 20:10

PleaseStand