我正在尝试根据文本文件的内容创建按钮。我拼凑了我在网上找到的代码几乎得到了我想要的结果。我希望它自动加载预先指定的文件并在页面加载时创建按钮。目前它要求用户选择一个文件。我不想要那个,我希望它只是加载一个带有硬编码名称的文件并生成按钮。
我提前道歉,我没有JavaScript经验(请是异教徒)。
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim tfield1 As New TemplateField()
tfield1.HeaderText = "Assignment 2"
GridView1.Columns.Add(tfield1)
End Sub

document.getElementById('file').onchange = function () {
var file = this.files[0];
var reader = new FileReader();
reader.onload = function (progressEvent) {
console.log(this.result);
// Parse file by line
var lines = this.result.split('\n');
// Create buttons
for (var line = 0; line < lines.length-1; line++) {
var btn = document.createElement("BUTTON");
var t = document.createTextNode(lines[line]);
btn.appendChild(t);
document.body.appendChild(btn);
}
};
reader.readAsText(file);
};
&#13;
答案 0 :(得分:1)
未经明确许可,不允许网页从用户的文件系统中读取本地文件。但是,他们可以从服务的服务器以及其他服务器中检索数据。
如果您只是编辑本地网页而不打算将其移至服务器,则您的计算机同时充当客户端和服务器。因此,您可以使用XMLHttpRequest
代替<input type=file>
来访问所需的文件。
如果您通过file:///
加载页面,则需要将您的文件放在与网页相同的目录中或子目录中(否则同源政策会阻止你来自文件)。