今天优化live800 做延迟加载
前工程师 是这样写的
<script language="javascript" src="http://chat32.live800.com/live800/chatClient/staticButton.js?jid=111111111&companyID=111111111&configID=11111111&codeType=custom&info=<%=java.net.URLEncoder.encode("userId="+ request.getAttribute("memberId")+"&name=" + request.getAttribute("memberName") + "&memo=", "UTF-8") %>"></script>
使用了 URLEncoder.encode 来 编码 info字段信息
做延迟加载的时候,就想有没有 对应javascript中的函数?
javadoc中是 这样 描述 URLEncoder 的
HTML 格式编码的实用工具类。该类包含了将 String 转换为 application/x-www-form-urlencoded MIME 格式的静态方法。有关 HTML 格式编码的更多信息,请参阅 HTML 规范。
对 String 编码时,使用以下规则:
字母数字字符 "a" 到 "z"、"A" 到 "Z" 和 "0" 到 "9" 保持不变。
特殊字符 "."、"-"、"*" 和 "_" 保持不变。
空格字符 " " 转换为一个加号 "+"。
所有其他字符都是不安全的,因此首先使用一些编码机制将它们转换为一个或多个字节。然后每个字节用一个包含 3 个字符的字符串 "%xy" 表示,其中 xy 为该字节的两位十六进制表示形式。推荐的编码机制是 UTF-8。但是,出于兼容性考虑,如果未指定一种编码,则使用相应平台的默认编码。
例如,使用 UTF-8 编码机制,字符串 "The string ü@foo-bar" 将转换为 "The+string+%C3%BC%40foo-bar",因为在 UTF-8 中,字符 ü 编码为两个字节,C3 (十六进制)和 BC (十六进制),字符 @ 编码为一个字节 40 (十六进制)。
javascript 中 有 3个编码函数:
1.escape()
最古老的一个,这个函数现在已经不提倡使用
实际上,escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。
比如“春节”的返回结果是%u6625%u828
它的具体规则是,除了ASCII字母、数字、标点符号“@ * _ + - . /”以外,对其他所有字符进行编码。
在\u0000到\u00ff之间的符号被转成%xx的形式,其余符号被转成%uxxxx的形式。
2.encodeURI()
是Javascript中真正用来对URL编码的函数。
它对整个URL进行编码,因此除了常见的符号以外,对网址中有特殊含义的符号“; / ? : @ & = + $ , #”,也不进行编码。
编码后,它输出符号的utf-8形式,并且在每个字节前加上%。
3.encodeURIComponent()
用于对URL的组成部分进行个别编码,而不用于对整个URL进行编码。
在encodeURIComponent()中统统会对“; / ? : @ & = + $ , #”被编码。
至于具体的编码方法,和encodeURI()是一样。
所以最相似的是 第三个 encodeURIComponent()
可以优化成:
$j(function(){ var info=encodeURIComponent("userId=${empty member.id?'':member.id}&name=${empty member.loginName?'':member.loginName}&memo="); lazyLoadLive800(info); })
相关推荐
标题中的“【飞天奔月出品】windows版nginx 快速操控神器(启动start,关闭stop,重启restart) 批处理”指的是一个专为Windows操作系统设计的Nginx管理工具,它通过批处理脚本实现了Nginx服务的便捷启动、停止和重启...
在这个兔子奔月吃月饼的游戏中,Canvas可能是用来绘制游戏背景、角色、月饼以及其他交互元素的平台。 CSS3(层叠样式表3)也在这其中扮演了重要角色。CSS3不仅提供了更精细的样式控制,如边框阴影、圆角、过渡和...
在这个游戏中,JavaScript可能包含了一系列函数,用于控制兔子的移动、碰撞检测(判断兔子是否吃到月饼)、分数计算、游戏状态管理(如游戏开始、结束)等。此外,JavaScript还可以用于响应用户的触摸或鼠标事件,...
在这个游戏中,JavaScript用于处理用户输入,控制兔子的移动、跳跃,以及检测月饼的位置和碰撞,实现游戏逻辑。同时,JavaScript还可以用来实现分数计算和计时器功能,使游戏更具有挑战性。 CSS(层叠样式表)在...
《奔月》是鲁迅先生的一篇短篇小说,收录于其《故事新编》之中,通过对传统神话的再创作,鲁迅以戏拟的手法揭示了深刻的社会与人性问题。这篇作品通过对后羿这一昔日英雄形象的塑造,反映出鲁迅对时代变迁下英雄命运...
在"奔月游戏"中,JavaScript代码可能包括以下几个部分: 1. 游戏状态管理:定义游戏的开始、暂停、结束等状态,并处理状态间的切换。 2. 游戏对象:定义游戏中的角色、障碍物等对象,包括它们的属性和行为。 3. 事件...
在奔月游戏中,可能使用canvas来绘制角色、背景、轨迹等元素,并通过定时更新画面来实现动画效果。 2. **Web Audio API**:HTML5提供了Web Audio API,用于处理和播放音频。游戏往往需要背景音乐和音效,这个API...
这篇文档介绍了如何使用Adobe Photoshop软件创作一张奔月女孩的梦幻艺术照片效果。以下是详细步骤: 1. **新建文件与导入素材**: - 首先创建一个新文件,大小与素材1相同,命名为"奔月女孩"。 - 然后打开素材1,...
在实际代码中,开发者可能使用了JavaScript库,比如jQuery,来简化DOM操作和事件处理。在这个例子中,文件名"jquery-game"可能意味着游戏的实现依赖于jQuery,这是一个广泛使用的JavaScript库,提供了便利的API用于...
【标题】"小游戏源码-火贱兔奔月.rar" 提供的是一个小型游戏的源代码,名为"火贱兔奔月"。这类源码通常用于教学、学习或游戏开发者的参考,帮助开发者理解游戏的基本架构和编程逻辑。 【描述】"小游戏源码-火贱兔...
在这款“兔子奔月吃月饼”的游戏中,我们可以推测玩家需要控制兔子角色在月球表面跳跃,收集月饼以获得分数。游戏可能包含计时机制、等级系统或者难度递增的障碍物,以增加挑战性和趣味性。同时,由于是微信小游戏,...
在JavaScript中,可以使用addEventListener方法监听用户的点击或触摸事件,当兔子吃到月饼时,触发得分增加或者月饼消失的逻辑。 考虑到这是微信小游戏,那么必定使用了微信开发者工具(WXML和WXSS)来构建用户界面...
在JavaScript中,通常使用setTimeout或requestAnimationFrame函数来创建游戏循环。 7. **数据结构与算法**: 游戏中的元素如兔子、月饼的位置和状态通常存储在数据结构(如数组或对象)中。碰撞检测算法则用于判断...
鲁迅的短篇小说《奔月》是其《故事新编》中的一篇,它颠覆了我们对古代神话的传统认知,尤其对嫦娥这一角色的刻画,使得这篇作品在文学史上占据了独特的地位。鲁迅通过对嫦娥形象的世俗化处理,揭示了人性的复杂和...
奔月生物:2021年半年度报告.PDF
在中国传统神话故事中,嫦娥奔月的故事可谓家喻户晓,不仅在古代诗人骚客的笔下被多次吟咏,也成为了后代文化教育中不可或缺的一部分。小学五年级语文《嫦娥奔月》教案,正是以此为教材,引导学生们走进这一古老而...
【标题】"H5小游戏源码 火贱兔奔月.zip" 提供的是一个基于HTML5技术开发的小游戏的完整源代码。HTML5是一种在网页上创建动态、交互式内容的标记语言,它极大地扩展了传统HTML的能力,使得开发者能够创建更丰富、更具...