开发者

Local JavaScript - write to local file

I have some JavaScript code loaded from a local HTML file (without going through a webserver).. i.e., opened using file://

Is there a way the JavaScript code in this file can be used to write to a local file?

I know that cross-site restrictions do not allow lot of things in JavaScript, but this is not cross-site, so it should be a开发者_如何学编程llowed in theory.


There's a jQuery plugin jQuery.twFile that allows you to read and write to a local file.


In case of Internet Explorer you can use ActiveX.

<html>
    <head>
        <script type="text/javaScript">
            function WriteToFile()
            {
               var fso  = new ActiveXObject("Scripting.FileSystemObject");
               var txtFile = fso.CreateTextFile("c:\\TestFile.txt", true);
               txtFile.WriteLine("This is a test");
               txtFile.Close();
            }
        </script>
    </head>

    <body>
        <p>
            <script type="text/javaScript">  WriteToFile(); </script>
        </p>
    </body>
</html>


There's no native API* for File System access in browsers. You need that first!

For example, in Internet Explorer, there's an ActiveX object for it:

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

...but it requires the user to relax their browser settings. On other browsers, you may be able to use a jar (Java Archive) file.

You could also see what non-browser JavaScript containers offer, e.g. Microsoft HTA files (HTML Application) will support the Windows ActiveX FileSystemObject fine, providing your Virus Checking Software allows HTA files to execute.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜