我正在制作一个密码生成器网站(这是为我自己),我想知道我是否可以制作一个下载按钮,下载一个。txt文件和文件内生成的密码。
您可以访问这里:https://astr-ghe.tk
这是我的生成函数代码:
//generate random password
function generate(){
//set password length/complexity
let complexity = document.getElementById("slider").value;
//possible password values
let values = "ABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*()_+";
let password = "";
//create for loop to choose password characters
for(var i = 0; i <= complexity; i++){
password = password + values.charAt(Math.floor(Math.random() * Math.floor(values.length - 1)));
}
//add password to textbox/display area
document.getElementById("display").value = password;
//add password to previously generated passwords section
document.getElementById("lastNums").innerHTML += password + "<br />";
}
你可以使用这里写的函数生成一个文本文件,然后点击下载。
function download(filename, text) {
var element = document.createElement('a');
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
然后根据需要调用download
,即在generate
:
function generate() {
let complexity = document.getElementById("slider").value;
let values = "ABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*()_+";
let password = "";
for(var i = 0; i <= complexity; i++)
password = password + values.charAt(
Math.floor(Math.random() * Math.floor(values.length - 1))
);
download('password.txt', password);
}
此行为被StackOverflow阻止,请查看此JSFiddle以获取示例。
这将创建并保存您的密码文件
function downloadDemo(password) {
var fso, f;
ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.OpenTextFile("c:\\"+password+".txt", ForWriting, true);
f.Write(password);
f.Close();
}
有没有可能。 您只需创建一个函数来生成一个新的锚标记,该标记带有指向您想要的文件名的下载链接。 如果将链接的href
设置为要下载的编码文本,则该链接将被下载到一个名为download
属性的文件中,该文件的内容为href
属性
null
function download(filename, text) {
var element = document.createElement('a');
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
<button onclick="download('password.txt','your Content here')">Download</button>