Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 存储目标容器的HTML和CSS_Javascript_Jquery_Css_Web Storage - Fatal编程技术网

Javascript 存储目标容器的HTML和CSS

Javascript 存储目标容器的HTML和CSS,javascript,jquery,css,web-storage,Javascript,Jquery,Css,Web Storage,我有一个包含一些html的容器div,例如: <div id="container"> <h1>Bla bla</h1> <div class="myItem"></div> <a href="#">Send</a> </div> 我希望将容器中的所有html以及与之相关的所有css存储在某个变量/数据库/任何可用的文件中,然后将其加载回新页面。内容是动态的,由用户决定

我有一个包含一些html的容器
div
,例如:

<div id="container">
     <h1>Bla bla</h1>
     <div class="myItem"></div>
     <a href="#">Send</a>
</div>
我希望将容器中的所有html以及与之相关的所有css存储在某个变量/数据库/任何可用的文件中,然后将其加载回新页面。内容是动态的,由用户决定容器及其内容的样式

我怎样才能做到这一点?我想的一种方法是使用javascript检索所有这些属性,然后以某种方式将它们存储在数据库中,以便稍后重新加载它们,或者尝试使用HTML5WebStorage执行此操作

有没有插件可以做到这一点

编辑:
我也尝试过html2canvas,但它对css3的支持还不足以正确呈现元素。

如果CSS和HTML都存储在页面中,您只需抓取内容(基于包装器)并将其存储在localStorage中(如果这符合您的目的)

jQuery和localStorage的示例。。。您需要更改保存内容的位置,以适合您的情况

保存项目:

var html = $('#container').html();
localStorage.setItem('html', html);

var css = $('#csscontainer').html();
localStorage.setItem('css', css);
var showHtml = localStorage.getItem('html');
var showCss = localStorage.getItem('css');

$('#showHtml').html(showHtml);
$('#showCss').html(showCss);
拉动/显示项目:

var html = $('#container').html();
localStorage.setItem('html', html);

var css = $('#csscontainer').html();
localStorage.setItem('css', css);
var showHtml = localStorage.getItem('html');
var showCss = localStorage.getItem('css');

$('#showHtml').html(showHtml);
$('#showCss').html(showCss);

如果CSS和HTML都存储在页面中,那么您只需抓取内容(基于包装器)并将其存储在localStorage中(如果这符合您的目的)

jQuery和localStorage的示例。。。您需要更改保存内容的位置,以适合您的情况

保存项目:

var html = $('#container').html();
localStorage.setItem('html', html);

var css = $('#csscontainer').html();
localStorage.setItem('css', css);
var showHtml = localStorage.getItem('html');
var showCss = localStorage.getItem('css');

$('#showHtml').html(showHtml);
$('#showCss').html(showCss);
拉动/显示项目:

var html = $('#container').html();
localStorage.setItem('html', html);

var css = $('#csscontainer').html();
localStorage.setItem('css', css);
var showHtml = localStorage.getItem('html');
var showCss = localStorage.getItem('css');

$('#showHtml').html(showHtml);
$('#showCss').html(showCss);

是否需要通过多次请求保存,或者您只想将其存储并在单个页面中使用?@giorgio-确切的情况是,用户可以旋转一个框-使用css3矩阵和jqCube插件完成-用户将不同的背景图像和颜色应用到该框中-一旦点击“保存”,它会将其保存到所有设计的图库中框-库加载到一个新页面上-但在同一个域中。请尝试JQIs提供的chenge block ID/class您需要在页面上保存当前内容的CSS?如果是的话,用一些JS/jQuery来实现这一点应该不难。您可以将其保存到localStorage,正如您所说,通过这种方式。是否需要通过多次请求保存,或者您只想将其存储并在单个页面中使用?@giorgio-确切的情况是用户可以旋转一个框-使用css3矩阵和jqCube插件完成-用户将不同的背景图像和颜色应用到该框中-一旦点击“保存”,它会将其保存到所有人的图库中设计框-图库加载到新页面上-但在同一域内。请尝试JQIs提供的chenge block ID/class您需要在页面上保存当前内容的CSS?如果是的话,用一些JS/jQuery来实现这一点应该不难。你可以用这种方式将其保存到localStorage,正如你所说的。嗯,这比我想象的要简单得多-好的示例-将首先尝试。关于web存储的一个注意事项:即使会话结束(即用户关闭浏览器),localStorage仍然存在。会话存储在会话结束时抛出数据。上面的示例使用本地存储。。。如果希望数据不那么持久,可以将“local”更改为“session”。这是一个很好的描述:嗯,这比我想象的要简单得多-很好的示例-将首先尝试。关于web存储的一个注意事项:即使会话结束(即用户关闭浏览器),localStorage仍然存在。会话存储在会话结束时抛出数据。上面的示例使用本地存储。。。如果希望数据不那么持久,可以将“local”更改为“session”。下面是一个很好的描述: