`

【飞天奔月出品】java中的 URLEncoder.encode 对应javascript中的哪个函数?

阅读更多

今天优化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 快速操控神器(启动start,关闭stop,重启restart) 批处理”指的是一个专为Windows操作系统设计的Nginx管理工具,它通过批处理脚本实现了Nginx服务的便捷启动、停止和重启...

    HTML5实现兔子中秋奔月吃月饼游戏源码.zip

    在这个兔子奔月吃月饼的游戏中,Canvas可能是用来绘制游戏背景、角色、月饼以及其他交互元素的平台。 CSS3(层叠样式表3)也在这其中扮演了重要角色。CSS3不仅提供了更精细的样式控制,如边框阴影、圆角、过渡和...

    HTML5兔子奔月吃月饼游戏源码.zip

    在这个游戏中,JavaScript可能包含了一系列函数,用于控制兔子的移动、碰撞检测(判断兔子是否吃到月饼)、分数计算、游戏状态管理(如游戏开始、结束)等。此外,JavaScript还可以用于响应用户的触摸或鼠标事件,...

    HTML5兔子奔月吃月饼游戏源码.rar

    在这个游戏中,JavaScript用于处理用户输入,控制兔子的移动、跳跃,以及检测月饼的位置和碰撞,实现游戏逻辑。同时,JavaScript还可以用来实现分数计算和计时器功能,使游戏更具有挑战性。 CSS(层叠样式表)在...

    鲁迅《奔月》作品分析.pdf

    《奔月》是鲁迅先生的一篇短篇小说,收录于其《故事新编》之中,通过对传统神话的再创作,鲁迅以戏拟的手法揭示了深刻的社会与人性问题。这篇作品通过对后羿这一昔日英雄形象的塑造,反映出鲁迅对时代变迁下英雄命运...

    H5游戏源码 奔月游戏.zip

    在"奔月游戏"中,JavaScript代码可能包括以下几个部分: 1. 游戏状态管理:定义游戏的开始、暂停、结束等状态,并处理状态间的切换。 2. 游戏对象:定义游戏中的角色、障碍物等对象,包括它们的属性和行为。 3. 事件...

    HTML5奔月游戏 源码.zip

    在奔月游戏中,可能使用canvas来绘制角色、背景、轨迹等元素,并通过定时更新画面来实现动画效果。 2. **Web Audio API**:HTML5提供了Web Audio API,用于处理和播放音频。游戏往往需要背景音乐和音效,这个API...

    Photoshop合成奔月女孩梦幻艺术照片效果.doc

    这篇文档介绍了如何使用Adobe Photoshop软件创作一张奔月女孩的梦幻艺术照片效果。以下是详细步骤: 1. **新建文件与导入素材**: - 首先创建一个新文件,大小与素材1相同,命名为"奔月女孩"。 - 然后打开素材1,...

    HTML5奔月游戏

    在实际代码中,开发者可能使用了JavaScript库,比如jQuery,来简化DOM操作和事件处理。在这个例子中,文件名"jquery-game"可能意味着游戏的实现依赖于jQuery,这是一个广泛使用的JavaScript库,提供了便利的API用于...

    小游戏源码-火贱兔奔月.rar

    【标题】"小游戏源码-火贱兔奔月.rar" 提供的是一个小型游戏的源代码,名为"火贱兔奔月"。这类源码通常用于教学、学习或游戏开发者的参考,帮助开发者理解游戏的基本架构和编程逻辑。 【描述】"小游戏源码-火贱兔...

    HTML5兔子奔月吃月饼微信小游戏代码.zip

    在这款“兔子奔月吃月饼”的游戏中,我们可以推测玩家需要控制兔子角色在月球表面跳跃,收集月饼以获得分数。游戏可能包含计时机制、等级系统或者难度递增的障碍物,以增加挑战性和趣味性。同时,由于是微信小游戏,...

    HTML5兔子奔月吃月饼微信小游戏代码.7z

    在JavaScript中,可以使用addEventListener方法监听用户的点击或触摸事件,当兔子吃到月饼时,触发得分增加或者月饼消失的逻辑。 考虑到这是微信小游戏,那么必定使用了微信开发者工具(WXML和WXSS)来构建用户界面...

    HTML5兔子奔月吃月饼游戏源码

    在JavaScript中,通常使用setTimeout或requestAnimationFrame函数来创建游戏循环。 7. **数据结构与算法**: 游戏中的元素如兔子、月饼的位置和状态通常存储在数据结构(如数组或对象)中。碰撞检测算法则用于判断...

    析鲁迅《奔月》.docx

    鲁迅的短篇小说《奔月》是其《故事新编》中的一篇,它颠覆了我们对古代神话的传统认知,尤其对嫦娥这一角色的刻画,使得这篇作品在文学史上占据了独特的地位。鲁迅通过对嫦娥形象的世俗化处理,揭示了人性的复杂和...

    奔月生物:2021年半年度报告.PDF

    奔月生物:2021年半年度报告.PDF

    H5小游戏源码 火贱兔奔月.zip

    【标题】"H5小游戏源码 火贱兔奔月.zip" 提供的是一个基于HTML5技术开发的小游戏的完整源代码。HTML5是一种在网页上创建动态、交互式内容的标记语言,它极大地扩展了传统HTML的能力,使得开发者能够创建更丰富、更具...

    五年级语文《嫦蛾奔月》教案 苏教版.doc

    2. 课文讲解:《嫦娥奔月》是中国传统神话故事,这篇课文旨在通过讲述嫦娥的故事,帮助学生理解和欣赏传统文化中的道德价值观,如善良、勇敢和牺牲精神。 3. 教学目标设定:教学目标分为三个层次,分别是正确流利有...

Global site tag (gtag.js) - Google Analytics