gyu*_*isc 9 html javascript html5
我想写一个小的html文件,可以在本地运行并操作我的计算机上的一个小文本文件.我的要求是:
这有可能吗?如果是,我如何使用javascript读取和写入我的文本文件?
正如在Itay Moav的回答中所讨论的那样,使用本地HTML文件写入本地文件可能会成为一个问题,而无需在提升的权限模式下运行并具有其他Javascript功能(允许您保存本地文件).
但是,完全可以从HTML文件访问本地文件.下面是一些示例代码.
mytext.txt
My local text file
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
这将在html页面加载后1秒发出警报(以允许首先加载iframe),并将包含mytext.txt文件中的内容.
注意,如果它是纯文本,Firefox将用PRE元素包装它,这就是我做的原因firstChild.另外,请注意使用BASE元素,该元素使用您的文件指向您的本地目录.
小智 9
Jared给出的例子很好.然而,设置未知的观看时间并不吸引人.而是将一个onload事件附加到iframe,调用一个函数来读取文本文件的内容,并尽快做任何事情.
这是一个修改过的例子:
<html>
<head>
<script>
function readfile() {
alert(document.getElementById('iframe').contentDocument.body.firstChild.innerHTML);
}
</script>
</head>
<body>
<iframe id='iframe' src = 'test.txt' onload='readfile()'> </iframe>
<h1>Hello World!</h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
文件test.txt off当然必须与上面的html文件本身存在于同一目录中.