前两次的蜀门手游什么时候上线测试我参加过,我还要用激活码吗?

要评论问题请先或
要回复问题请先或
浏览: 2170
关注: 1 人cookie解决微信不能存储localStorage的问题
(window.slotbydup=window.slotbydup || []).push({
id: '2611110',
container: s,
size: '240,200',
display: 'inlay-fix'
您当前位置: &
[ 所属分类
作者 红领巾 ]
在开发基于微信的Web页面时,发现有些机型不能存储信息到localStorage中,或者是页面一旦关闭,存储的信息也失效了。用cookie来替代localStorage,存储一些简单的数据。上网查找了一下,发现w3school上已有不错的解决方案。设置cookie:function setCookie(c_name,value,expiredays){var exdate=new Date()exdate.setDate(exdate.getDate()+expiredays)document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString())}//取回cookiefunction getCookie(c_name){if (document.cookie.length&0) { c_start=document.cookie.indexOf(c_name + "=") if (c_start!=-1) {
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start) if (c_end==-1) c_end=document.cookie.length return unescape(document.cookie.substring(c_start,c_end)) }
}return ""}示例:&设置cookie,有效期为365天setCookie('username','123',365);&取回,若cookie失效,将返回空getCookie('username');&经过测试,完全兼容,没有出现问题. 有需要的小伙伴可以参考下,谢谢支持!
转载请注明本文标题:本站链接:
分享请点击:
1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
船到江心难补漏,马到悬崖难回头!是非皆因开口多,祸事皆因强出头!万花丛中过,片叶不沾身
手机客户端
,专注代码审计及安全周边编程,转载请注明出处:http://www.codesec.net
转载文章如有侵权,请邮件 admin[at]codesec.net8925人阅读
HTML5(1)
说到本地存储,这玩意真是历尽千辛万苦才走到HTML5这一步,之前的历史大概如下图所示:
最早的Cookies自然是大家都知道,问题主要就是太小,大概也就4KB的样子,而且IE6只支持每个域名20个cookies,太少了。优势就是大家都支持,而且支持得还蛮好。很早以前那些禁用cookies的用户也都慢慢的不存在了,就好像以前禁用javascript的用户不存在了一样。
userData是IE的东西,垃圾。现在用的最多的是Flash吧,空间是Cookie的25倍,基本够用。再之后Google推出了Gears,虽然没有限制,但不爽的地方就是要装额外的插件(没具体研究过)。到了HTML5把这些都统一了,官方建议是每个网站5MB,非常大了,就存些字符串,足够了。比较诡异的是居然所有支持的浏览器目前都采用的5MB,尽管有一些浏览器可以让用户设置,但对于网页制作者来说,目前的形势就5MB来考虑是比较妥当的。
支持的情况如上图,IE在8.0的时候就支持了,非常出人意料。不过需要注意的是,IE、Firefox测试的时候需要把文件上传到服务器上(或者localhost),直接点开本地的HTML文件,是不行的。
首先自然是检测浏览器是否支持本地存储。在HTML5中,本地存储是一个window的属性,包括localStorage和sessionStorage,从名字应该可以很清楚的辨认二者的区别,前者是一直存在本地的,后者只是伴随着session,窗口一旦关闭就没了。二者用法完全相同,这里以localStorage为例。
用户名、密码保存,自动登录等,可以通过设置cookie实现,第一次登录网站后在本地计算机的中写入cookie,之后再次登录此网站查看cookie中现有的值,用cookie值进行网站登录即可。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。
HTML5提供了一个此类问题比较方便的解决方案,就是localstorage。数据不是由每个服务器请求传递的,而是只有在请求时使用数据。它使在不影响网站性能的情况下存储大量数据成为可能。对于不同的网站,数据存储于不同的区域,并且一个网站只能访问其自身的数据。HTML5 使用 JavaScript 来存储和访问数据。
下面是一个登录保存用户名密码的实例:
代码如下:
&!DOCTYPE HTML PUBLIC &-//W3C//DTD HTML 4.01 Transitional//EN&&
&html xmlns=&http://www.w3.org/1999/xhtml&&
&meta http-equiv=&Content-Type& content=&text/ charset=gb2312& /&
&title&登录&/title&
$(document).ready(function(){
//读取 localStage 本地存储,填充用户名密码,如果自动登录有值直接跳转;
//相反,跳转到本页面,等待登陆处理
var storage = window.localS
var getname = storage[&name&];
var getPwd = storage[&pwd&];
var getisstroepwd = storage[&isstorePwd&];
var getisautologin = storage[&isautologin&];
if(&yes& == getisstroepwd)
if(&yes& == getisautologin)
if(( (&& != getname) ||(null != getname)) && ((&& != getPwd) ||(null != getPwd)))
已经保存 登陆信息 直接登陆
$(&#loginAccout&).val(getname);
$(&#loginPwd&).val(getPwd);
window.location=&&;
$(&#loginAccout&).val(getname);
$(&#loginPwd&).val(getPwd);
document.getElementById(&isRemberPwdId&).checked =
function loginCheckAjaxFunction()
var userAccout=$(&#loginAccout&).val();
var userPassWord=$(&#loginPwd&).val();
var storage = window.localS
//记住密码
if(document.getElementById(&isRemberPwdId&).checked)
//存储到loaclStage
storage[&name&] = userA
storage[&pwd&] =
storage[&isstorePwd&] =
storage[&name&] = userA
storage[&isstorePwd&] =
//下次自动登录
if(document.getElementById(&isAutoLoginId&).checked)
//存储到loaclStage
storage[&name&] = userA
storage[&pwd&] =
storage[&isstorePwd&] =
storage[&isautologin&] =
storage[&name&] = userA
storage[&isautologin&] =
if(&& == $(&input[name=loginAccout]&).val())
ui.error('输入用户名!',1500);
document.loginform.loginAccout.focus();
if(&& == $(&input[name=loginPwd]&).val())
ui.error('输入密码!',1500);
document.loginform.loginPwd.focus();
url : &loginCheckAjax.action&,
type : &post&,
data:{//设置数据源
loginAccout:$(&input[name=loginAccout]&).val(),
loginPwd:$(&input[name=loginPwd]&).val()
dataType:&json&,//设置需要返回的数据类型
success:function(data){
//登陆成功后的处理
error:function(){
ui.error('登陆失败,请重试',2000);
}//这里不要加&,&
&form name=&loginform& action=&&%=path %&/Userlogin.action& method=&post&&
&input type=&text& name=&loginAccout& id=&loginAccout& class=&loginInput& size=&18& autofocus=&autofocus& maxlength=&30& required=&required& autocomplete=&off& placeholder=&请输入用户名&
style=&height:30width:160px&/&&br /&
&input type=&password& name=&loginPwd& id=&loginPwd& size=&18& maxlength=&15& class=&loginInput& required=&required& placeholder=&请输入密码& style=&height:30width:160px&/&&br /&
&input type=&checkBox& name=&isRemberPwd& id=&isRemberPwdId&/& 记住密码
&input type=&checkBox& name=&isAutoLogin& id=&isAutoLoginId&/& 下次自动登录
onclick=&loginCheckAjaxFunction()&
class=&button glow button-rounded button-flat-action&&登录&/a&
参考资料:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:191002次
积分:1798
积分:1798
排名:第17260名
原创:39篇
评论:15条
(3)(11)(17)(1)(1)(5)(2)(2)(3)(3)

我要回帖

更多关于 蜀门手游吧 的文章

 

随机推荐