javascript - javascript可以显示任何扩展名的任何外部文件的文本吗?
问题描述
让我们考虑一下我有一个名为text.txt的文本文件。所以,现在我创建了一个名为showtext.html的文件,我必须在其中编写 javascript 以便它可以显示text.txt中存在的文本。我认为它会像:
文本 ( text.txt )
Show me up !
HTML ( 显示文本.html )
<!DOCTYPE html>
<html>
<body>
<script>
var src = "text.txt";
document.write( value.get( src ) );
</body>
</html>
showtext.html 的输出
Show me up !
在上面的函数中,value.get()获取然后写入 text.txt 的值。那么,javascript真的可以做到吗?我怎样才能使value.get()?它会仅支持.txt扩展名还是可以支持任何自定义扩展名?或者这只能用 PHP 来完成?
解决方案
“本地”的意思是“所有客户端,没有服务器”:) 如果您没有服务器,则不能使用 fetch() 之类的东西(据我所知,安全限制会阻止这种情况)。但是只要用户自己选择文件,就可以在客户端从本地计算机读取文件。您不能只从客户端计算机中读取任意文件(再次出于安全原因)。
如果您同意让用户选择文件,请查看 FileReader API。
HTML:
<input type='file' id='fileSelector' />
JS:
const fileInput = document.getElementById('fileSelector');
fileInput.addEventListener('change', event => {
const file = event.target.files[0];
const reader = new FileReader();
reader.addEventListener('load', readEvent => {
// In here, readEvent.target.result will have the text of the file for you to work with.
});
reader.readAsText(file);
});
推荐阅读
- windows - 搜索维护的二进制差异/补丁工具或库
- android - 在 kotlin 中扩展时类所需的类型参数
- c++ - crypt in c++ returning different strings(or no string at all)
- angular - Casting an array to NgIterable
in Angular 4+ (ngForOf) - c# - 如何在 SSIS ScriptTask 中引用 .netstandard 库
- ruby-on-rails - Rails 使用 define_method 进行分配方法不起作用
- elm - 更新页面内容时出现 Elm 运行时错误
- html - 父元素布局wrt旋转元素的边界框
- rstudio - Rstudio:如何在分布上拟合包含负数和非负数的数据集(例如:对数正态)?
- scala - 在 Scala 中处理多个并发流的惯用方法