Javascript 下载a<;部门>;使用JS连接到.doc或.docx

Javascript 下载a<;部门>;使用JS连接到.doc或.docx,javascript,jquery,.doc,Javascript,Jquery,.doc,假设我有一个div的动态内容: //a button to click, or something <button type="button">Download Content as a .doc</button> //Div to be downloads as .div <div class="gc"> //Generated content <h1>A Header</h1> <p>A Paragraph

假设我有一个div的动态内容:

//a button to click, or something
<button type="button">Download Content as a .doc</button>

//Div to be downloads as .div
<div class="gc"> //Generated content
   <h1>A Header</h1>
   <p>A Paragraph</p>
   <ul><li>A</li><li>List</li><li>Here</li></ul>
</div>
//要单击的按钮或其他东西
以.doc格式下载内容
//Div将作为.Div下载
//生成内容
标题
段落

  • A
  • 列表
  • 此处
在不使用服务器端帮助的情况下,您可以建议采用哪些方法来解决此问题?我对JS持开放态度,因为我目前正在学习这一点,并且可以使用Jquery访问div,只需寻找一个简单的答案或一个正确学习方向的提示

希望它能像在div中显示pdf一样简单,如,但我不知道

对于我的特殊情况,内容可以格式化,也可以不格式化,可以作为对象放在word或其他一些奇怪的解决方法中,也可以使用通用浏览器扩展。最终,我只希望能够为用户提供.doc(可能是.docx)版本的内容


如果我必须使用服务器端功能,有没有好的链接可以帮助我找到解决方案?因为我不懂AJAX或PHP,但我愿意学习

如果没有某种服务器端的东西来发送正确的头,这是不可能的

您可以将.html文件重命名为.doc,word将吃掉它,但您仍然需要一些PHP,或者您选择的任何服务器端语言来发送内容处置下载标记和内容类型应用程序/vnd ms word头


这对于纯javascript是不可能的,因为存在明显的安全风险。

我认为如果没有通过AJAX编写服务器端脚本,就无法做到这一点

如果您使用php,那么通过AJAX发送并作为文本文件发送回去下载将非常简单。然后,您只需要找到一个脚本,可以将其转换为.doc文件,因为这是一个复杂的格式

然而,我不确定HTML5是否适用。。有很多新功能


编辑:好的,我可以看到SchizoDuckie比我快了1分钟(lol:o)

这一部分可以通过HTML5使用blob构建器和对象URL实现。困难的部分是生成一个word兼容文件,留给读者作为练习:

// normalize vendor extensions
window.BlobBuilder = window.MozBlobBuilder || window.WebKitBlobBuilder || window.BlobBuilder;
window.URL = window.URL || window.webkitURL;

// create the file and append contents to it
var blobthebuilder = new BlobBuilder();
blobthebuilder.append("some text");

// create a URL for the newly created file with a mime
// type and make the anchor point to it
anchor.href = window.URL.createObjectURL(blobthebuilder.getBlob("text/html"));​
Webkit还支持
a[download]
,它将自动下载文件,而无需单击鼠标左键→ 另存为

演示