解决网页开发过程中遇到的问题以及思路

1:js中的运算问题

js中变量的声明:如果在 var 语句中没有初始化变量,变量自动取 JavaScript值 undefined。尽管并不安全,但声明语句中忽略 var 关键字是合法的 JavaScript语法。这时,JavaScript解释器给予变量全局范围的可见度。当在过程级中声明一个变量时,它不能用于全局范围;这种情况下,变量声明必须用 var 关键字。

如果是两种不同数据类型的对象进行运算,JavaScript解释器自动将数据类型之一改变(强制转换)为另一种数据类型,然后执行运算

要想显式地将字符串转换为整数,使用 parseInt 方法。要想显式地将字符串转换为数字,使用 parseFloat 方法。请注意,比较大小时字符串自动转换为相等的数字,但加法(连接)运算时保留为字符串。

2:cookie以及session的问题

1) session在每次关闭浏览器后,客户端会清除该次session,而服务器端会保留一段时间;在重新打开浏览器会新建session,因此可以通过jsp的session.getId()方法来获取sessionID

2) 浏览器客户端的cookie直接通过document.cookie来获取,cookie有同名cookie;浏览器客户端以domain/path/name作为cookie的唯一标识,只要其中有任何一项不同,则cookie就是不同的,因此可以产生同名cookie

而cookie的domain和path在服务器端都是只写的,服务器端只能读取到name和value两个值,所以就会出现问题,当客户端向服务器端请求同名cookie时,服务器端会选择那个cookie返回值

测试结果表明:将返回最符合的当前domain和path中的一个

3:记录读书位置,由于有多本书,且针对不同用户,因此问题比较负责,解决该问题的思路过程如下

1) 利用cookie解决,在cookie中保存一个pos属性,遇到的问题是:阅读不同的书本时,pos会被改变,因此只能保存一本书的位置

2) 利用数据库解决,可以很好的保存所有书目的阅读位置,但存在重大的缺陷:数据库表格只有一份数据,若要对所有用户都实现该服务,则需要对不同用户创建不同的数据库表格

3) 基于上面两个尝试,依然使用cookie解决,但为每本书创建不同名的cookie,根据id来创建不同名的id

另外,window.scrollTo(x, y)函数需要事件来触发,这个问题挺奇怪的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值