如何使用Javascript/jQuery保存在浏览器(DOM)上修改的html
How to save html that was modified on the browser (the DOM) with Javascript/jQuery
首先让我澄清一下,我试图做的只是本地使用,用户可以直接访问html页面。
我尝试做的基本上是将文本附加并保存到HTML文件中。
这就是我所拥有的。
HTML(index.HTML)
<div id="receiver"></div>
<button id="insertButton">Insert</button>
JS-
$(document).ready( function() {
$('#insertButton').click(function(){
$('#receiver').append('<h1>Hi,</h1>','<p>How are you?</p>');
})
});
我不知道的是如何在追加后保存文件(index.html)。知道怎么做吗?这在Javascript或jQuery中可能吗?
您可以更改处理程序以执行以下操作:
$(document).ready( function() {
$('#insertButton').click(function(){
$('#receiver').append('<h1>Hi,</h1>','<p>How are you?</p>');
// Save the page's HTML to a file that is automatically downloaded.
// We make a Blob that contains the data to download.
var file = new window.Blob([document.documentElement.innerHTML], { type: "text/html" });
var URL = window.webkitURL || window.URL;
// This is the URL that will download the data.
var downloadUrl = URL.createObjectURL(file);
var a = document.createElement("a");
// This sets the file name.
a.download = "source.htm";
a.href = downloadUrl;
// Actually perform the download.
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
})
});
您应该在MDN上查看URL
的兼容性矩阵和文档。值得注意的是,URL
不适用于IE 9或更早版本。与Blob
相同。
如果我理解正确,您需要在本地机器上使用它,以便临时使用,然后您可以将其存储在cookie中。因此,无论何时加载页面,都要检查cookie是否可用,如果可用,则从cookie中加载数据或加载新数据。除非cookie未被清除,否则您可以使用这些数据。
希望这能帮助。。。
不需要任何javascript。附加html后,只需按Ctrl+S即可使用修改后的html在本地保存文件。
相关文章:
- 在编译阶段后创建新的DOM树,或者继续使用原始修改的DOM
- window.open:是否可以通过修改DOM来打开一个新窗口
- 保留未修改的dom节点副本问题
- 在 Greasemonkey 中修改 Angular JS 中的 DOM 元素
- 修改 DOM 后如何确保 DOM 再次准备就绪
- 如何在不创建新元素的情况下修改 DOM 元素的位置
- 听任意DOM修改-对DOM进行哈希处理
- 如何获取dom修改的选择框的当前所选选项
- 无法修改DOM元素的类
- 用于 DOM 修改的高效 Javascript
- 通过 Javascript DOM 修改成员页面登录在 weebly 中
- 允许内容可编辑在 dom 修改后撤消
- 在 DOM 修改后重新运行 jQuery 插件的任意方法
- 使用 angularJS 加载 100 个用户的数据以及 DOM 修改
- AngularJS DOM修改删除事件->需要可行的变通方法实现模式
- Safari扩展中的DOM修改
- DOM修改弹出窗口或标签在chrome扩展立即撤消一旦脚本完成
- JavaScript——等待AJAX回调中的DOM修改完成
- jQquery获取dom修改后的属性值
- DOM修改疯狂