javascript - 尝试在 HTML 页面加载时读取本地文件
问题描述
我正在创建一个引用本地 txt(或 csv)文件的 Web 应用程序,该文件每年都会更改。我希望能够将文件的内容加载到<textarea>
页面启动中。
现在,我有<textarea>
使用<input>
元素将内容加载到 a 中的功能代码(感谢 2015 年的 StackOverflow 问题)。文件被选中,一旦输入状态发生变化,事件监听器将调用一个函数。我的挑战是修改代码,以便文件可以在启动时进行硬编码和加载,并且仍然使用事件调用函数(或将函数更改为在没有事件调用的情况下工作)。
索引.html
<input type="file" id="fileinput" />
<script type="text/javascript" src="dataLoad.js"></script>
<script type="text/javascript">
document.getElementById('fileinput').addEventListener('change', readSingleFile, false);
</script>
<textarea rows=20 id="area"></textarea>
数据加载.js
function readSingleFile(evt) {
//Retrieve the first (and only!) File from the FileList object
var f = evt.target.files[0];
if (f) {
var r = new FileReader();
r.onload = function(e) {
var display = "";
//a lot of unimportant stuff here
document.getElementById('area').value = display;
}
r.readAsText(f);
} else {
alert("Failed to load file");
}
}
这工作正常,但我不想手动选择要加载的文件,我想对文件进行硬编码。“这里有很多不重要的东西”会解析文件中的数据,所以为了清楚起见,我把它省略了。
解决方案
由于安全原因,您不能。
您不希望您访问的网站能够做到这一点,是吗?
尝试这个:
<object width="300" height="300" type="text/plain" data="password.txt" border="0" >
</object
推荐阅读
- reactjs - 在 react-admin 的 RouteWithoutLayout 中未访问按钮,但如果仅使用 Route 则可以正常工作
- c# - 如何使用 selenium 从 ql 编辑器中获取值/字符串
- node.js - 每当我登录时丢失凭据错误
- sql - SQL 视图 where 子句与和或不正常工作
- twilio - 如何在使用 TwiML 应用程序创建呼叫时传递自定义参数
- angular - 路由器保护跳过位置更改
- javascript - 删除以前的对象字段并在javascript中的对象数组中创建新字段
- cypress - 如何使用 Cypress 在下拉菜单中单击或选择每个选项
- reactjs - 如何从 React 中的嵌套路由导航到不同的组件?
- reactjs - 带有 redux-thunk 和 axios 的 TypeScript