使用jquery导入到记事本

时间:2013-06-25 14:59:04

标签: javascript jquery html notepad

是否有将数据导出到记事本的链接? 我有一些像 名称, 年龄和 WorkingStatus

这些是文字和文字区域......

我想将这些数据插入记事本。是否有可用的演示或代码?

2 个答案:

答案 0 :(得分:1)

我不知道有什么办法让浏览器打开记事本,但你可以使用HTML5功能将文件保存为文本,然后在你自己的记事本内打开它。根据浏览器的不同,您可能需要触发在用户端保存文件。这是两个参考资料,我将总结:

http://thiscouldbebetter.wordpress.com/2012/12/18/loading-editing-and-saving-a-text-file-in-html5-using-javascrip/

http://updates.html5rocks.com/2011/08/Saving-generated-files-on-the-client-side

基本上,您希望使用文本创建和保存blob。看起来应该是这样的:

var arrayOfStuff = [];
arrayOfStuff.push("Name            Age              Working status");
arrayOfStuff.push("-----------------------------------------------");
arrayOfStuff.push(document.getElementById("name").value);
// etc
var blob = new Blob(arrayOfStuff, {type:'text/plain'});

// (the rest is copied directly from the wordpress link)
var downloadLink = document.createElement("a");
downloadLink.download = fileNameToSaveAs;
downloadLink.innerHTML = "Download File";
if (window.webkitURL != null)
{
    // Chrome allows the link to be clicked programmatically.
    downloadLink.href = window.webkitURL.createObjectURL(textFileAsBlob);
    downloadLink.click();
}
else
{
    // Firefox requires the user to actually click the link.
    downloadLink.href = window.URL.createObjectURL(textFileAsBlob);
    document.body.appendChild(downloadLink);
}

如果记事本不是什么大问题,你也应该能够在iframe中打开这个blob作为.txt,然后右键单击并保存为,如果你愿意的话。

修改

好吧,这对我来说实际上是新的,所以我的一些旧信息并不完全正确。这是来自工作小提琴的javascript:

var arrayOfStuff = [];
arrayOfStuff.push(document.getElementById("name").value + "\n");
arrayOfStuff.push(document.getElementById("email").value);
arrayOfStuff.push("\n");
arrayOfStuff.push(document.getElementById("phone").value);
arrayOfStuff.push("\n");
arrayOfStuff.push(document.getElementById("comments").value);
arrayOfStuff.push("\n");
alert(arrayOfStuff);

var blob = new Blob(arrayOfStuff, {type:'text/plain'});

var link = document.getElementById("downloadLink");
link.download = "details.txt";
link.href = window.URL.createObjectURL(blob);

小提琴在http://jsfiddle.net/xHH46/2/

有一些经验教训:

  1. 如果您使用的是Firefox,则可以选择立即在记事本中打开.txt。但是,记事本没有注意换行,无论是\ n还是\ n \ r,附加到直接字符串或单独添加,所以我建议使用Wordpad。或者,您可以保存文件。
  2. 更重要的是,要意识到您显示的链接基于创建blob时文本中的任何值。如果您没有默认值,则会得到一个空文件,因为所有字段都是空的。 wordpress解决方案解决了这个问题(并讨论了过去一周内使用它),但修复很难看。基本上,您必须单击一个按钮,然后该按钮将显示一个链接,该链接将为您提供良好的文件。

答案 1 :(得分:0)

您将无法使用纯粹的javascript执行此操作。您需要生成文件服务器端并将其发送给客户端。