微信网页开发问题汇总
来源:互联网 发布:手机淘宝怎么看优惠券 编辑:程序博客网 时间:2024/04/30 12:00
最近做一个微信公众平台的一个订购网页,产生了好多问题,下面是问题与解决方法,欢迎指正学习。
1.如何只让网页在微信打开,其他浏览器拒绝访问?
因为是个订购网页,所以会牵扯恶意用户通过其他途径注册,购买,造成不必要的麻烦。
其他有一种常用的解决方法,那就是使用post提交方式,这样就保证了数据的安全性。可是也是存在一些弊端的,比如,外部还是可以查看网页界面的,如果我不想让通过其他途径看到界面呢,这样保证了数据的绝对安全。
大家都是到微信用的是x5的内核,既然是微信,这么大一个东西,肯定有与众不同的地方,经过百度查阅,我是用这个方法解决的,(原理就是判断其中某一个标志性的东西,判断他的访问来源,从而判断是不是通过微信访问的,博主走马观花,也就会用)
var useragent = navigator.userAgent;if (useragent.match(/MicroMessenger/i) != 'MicroMessenger') { //不是通过微信访问的}else{ //执行正常,通过微信访问}
这样就轻松解决了,安全问题,我的做法是,这网页的head头部里面直接进行判断,如果不是微信,那么直接跳转错误界面。
2. 跨页面数据传输
这个其实已经不是微信开发特有的,当然也是个大问题,我就说说。
1.form表单提交,这个单价一般都会用。method : get/post
2.window.location.href?name=’ys’;
这个有点类似于get方法,优点就是可控制性强,可以随时进行跳转。某些情况下挺有用的,比如:
ok执行代码,error执行代码,可以随意判断跳转页面。
3.利用ajax进行传输
如何实现,可以查看 原生实现ajax;
当然这个方法和后天进行数据交互用的较多。
4.利用cookie存数据
//arg1 名字, arg2 值, arg3过期时间function setCookie(objName,objValue,objHours){ //添加cookie var str = objName + "=" + escape(objValue); if(objHours > 0){ //为0时不设定过期时间,浏览器关闭时cookie自动消失 var date = new Date(); var ms = objHours*1000; date.setTime(date.getTime() + ms); str += "; expires=" + date.toGMTString(); } document.cookie = str; } //清除cookiefunction clearCookie(objName){ var arrStr = document.cookie.split("; "); for(var i = 0;i < arrStr.length;i ++){ var temp = arrStr[i].split("="); var date = new Date(); var ms = -100*1000; //过期时间为100s以前, date.setTime(date.getTime() + ms); document.cookie = temp[0] + "= ''; expires=" + date.toGMTString();; }}//根据名字获得cookie值function getCookie(objName){ //从cookie变量中获取指定的值 var arrStr = document.cookie.split("; "); for(var i = 0;i < arrStr.length;i ++){ var temp = arrStr[i].split("="); if(objName == temp[0]){ return unescape(temp[1]); } }}
在代码中,我设置过期时间为100s前,在夸页面以后,由于立马设置了他的过期时间,所以导致他的数据就失效了,所以跨页面之后,我们要先保存cookie数据,然后就清除cookie,这样可以防止有些用户按返回键,cookie存留,造成数据冲突的bug。
目前就这么些问题,有了问题在更新吧……
- 微信网页开发问题汇总
- Android 微信分享开发问题汇总
- 微信网页开发之缓存问题
- 微信网页开发遇到的问题
- 微信网页开发
- 微信网页开发
- 微信网页开发
- 微信开发中的配置以及问题汇总
- 微信开发资源汇总
- 微信开发---->网页授权
- 微信开发网页授权
- 微信网页开发样式
- 微信网页登录开发
- 网页微信,微信 1101,1102原因汇总
- 手机端网页开发问题汇总
- ubuntu网页开发问题汇总[1]
- Dreamware CC开发网页小问题汇总
- 微信开发【网页开发样式库】
- acmPOJ--3615
- python爬虫程序,由根目录一直爬各个网址
- 女程序猿到此一游
- 连接数据库
- java之-命令模式
- 微信网页开发问题汇总
- 分布式RAM
- 第三十篇:控制器的生成与多控制器的管理
- 父类子类之间的一个经典题目(有关成员变量何时赋值和在哪里赋值的问题)
- 数塔DP
- pygame编写的坦克游戏(一)
- King's Sanctuary
- cf#324 Div.2 Problem C Marina and Vasya
- [LeetCode-160] Intersection of Two Linked Lists(找到两链表公共交叉点)