我想写一个小的html文件,可以在本地运行并操作我的计算机上的一个小文本文件.我的要求是:
>文本文件位于我的计算机上的目录中(test.txt)
> Html文件与文本文件(test.html)位于同一目录中
>我想在html中使用javascript来读写文本文件.
这有可能吗?如果是,我如何使用javascript读取和写入我的文本文件?
解决方法
正如在Itay Moav的回答中所讨论的那样,使用本地html文件写入本地文件可能会成为一个问题,而无需在提升的权限模式下运行并具有其他Javascript功能(允许您保存本地文件).
但是,完全可以从HTML文件访问本地文件.下面是一些示例代码.
mytext.txt
My local text file
local.html
<html> <head> <base href="file:///C:/path/to/your/folder/"/> <script> window.onload = function(){ var iframe = document.createElement('iframe'); iframe.id = 'iframe'; iframe.style.display = 'none'; document.body.appendChild(iframe); iframe.src = 'mytext.txt'; setTimeout(function(){ var text = document.getElementById('iframe').contentDocument.body.firstChild.innerHTML; alert(text); },1000); } </script> </head> <body> <h1>Hello World!</h1> </body> </html>
这将在html页面加载后1秒发出警报(以允许首先加载iframe),并将包含mytext.txt文件中的内容.
注意,如果它是纯文本,Firefox将用PRE元素包装它,这就是我做firstChild的原因.另外,请注意使用BASE元素,该元素使用您的文件指向您的本地目录.