Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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
Jquery 在cookie中保存html_Jquery_Html_Cookies_Append_Clone - Fatal编程技术网

Jquery 在cookie中保存html

Jquery 在cookie中保存html,jquery,html,cookies,append,clone,Jquery,Html,Cookies,Append,Clone,我正在使用jquery克隆一些html并将其附加到一个div中 我的问题是,当页面刷新时,这个html将被删除。问题是如何在div中保存附加的HTML(HTML代码将包含一些输入和选择列表,并且将有大量代码) 我应该调查什么? 饼干 HTML5 还有什么吗?绝对不要尝试在Cookie中存储HTML。。。单是尺寸限制并不能使其成为一个好的选择。但是,您可能希望在cookie中保存一个“标志”,当页面重新呈现时,该标志会触发HTML代码的重新插入(或者通过重新调用第一次添加它的函数,或者通过AJAX

我正在使用jquery克隆一些html并将其附加到一个div中

我的问题是,当页面刷新时,这个html将被删除。问题是如何在div中保存附加的HTML(HTML代码将包含一些输入和选择列表,并且将有大量代码)

我应该调查什么?

饼干

HTML5


还有什么吗?

绝对不要尝试在Cookie中存储HTML。。。单是尺寸限制并不能使其成为一个好的选择。但是,您可能希望在cookie中保存一个“标志”,当页面重新呈现时,该标志会触发HTML代码的重新插入(或者通过重新调用第一次添加它的函数,或者通过AJAX将其拉入)

然而,我建议您在用户向页面追加内容时,对服务器执行AJAX回调。此调用将更新服务器上的对象/数据库,以便在重新加载页面时返回完整内容,包括用户动态添加的部分


如果你只想支持现代浏览器,我会选择HTML5的离线存储

另一种方法是获得AJAX路由

您不想为此使用cookies,因为:

每次请求时都会加载cookies


Cookie只能保存有限的信息。

您可以尝试使用此功能

<php
function getVar($name, $def = '') {
  if (isset($_REQUEST[$name]))
    return $_REQUEST[$name];
  else 
    return $def;
}


// check if overrides passed
$efind = getVar('q', '');
?>

下面是输入标记的示例

<input type="text" name="q"  onFocus="this.value=''" onBlur="if(this.value == '')this.value ='<?php echo htmlentities($efind); ?>'" value="<?php echo htmlentities($efind); ?>" />

使用大量jquery存储插件中的一个。他们中的许多人使用html5存储,但如果浏览器中不支持html5存储,它将使用其他技术。例如,使用plugin,您可以通过以下方式保存数据:

$.Storage.set("name", "value");
$.Storage.get("name");
并以这种方式恢复它:

$.Storage.set("name", "value");
$.Storage.get("name");

如果您要将代码附加到另一个元素,我建议您也保存附加到存储中的相同数据,而不是从文档中选择和获取数据(这要快一点)。

Hakan,ajax调用将使您的整个页面缓存无效(或至少不太有用)因为您的服务器将再次为每个请求加载php+apache/nginx,所以您几乎不会获得任何性能,或者至少不会像完整的页面缓存那样大。我们计划做一个完整的缓存解决方案,在第一次尝试中,我们考虑在购物车中使用cookie和session,询问客户机是否支持cookie,否则降级为Ajax调用。
告诉我你是否最终找到了解决办法。我正计划使用nginx和memcache进行全页缓存,并使用php+apc+apache+mod_sitespeed进行后端请求

以提供最佳解决方案,您能否给出一个用例来说明为什么要这样做?例如,如果您想使用静态HTML和Javascript构建一个非常简单灵活的购物车:DHi PeeHaa,“HTML5的离线存储”听起来很有趣。我会研究一下!除了Google.com,还有关于从哪里开始阅读的建议吗?谷歌搜索和这里都有很多好的资源。在这里找到我需要的东西@PeeHaa你是什么意思“每次请求都会加载cookies?”“?如果某个域设置了cookie,它将在以下每个请求中发送。感谢您阻止我尝试在cookie中存储HTMl。如果HTML5不能满足我的需要,我将尝试Ajax调用:)