首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
PowerPC
» 在 IE 中调试 JavaScript(3)应用示例
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
在 IE 中调试 JavaScript(3)应用示例
发短消息
加为好友
look_w
当前离线
UID
1066743
帖子
8283
精华
0
积分
4142
阅读权限
90
在线时间
233 小时
注册时间
2017-6-23
最后登录
2019-5-18
论坛元老
UID
1066743
1
#
打印
字体大小:
t
T
look_w
发表于 2018-10-7 13:26
|
只看该作者
在 IE 中调试 JavaScript(3)应用示例
应用示例 如下图所示,main.htm( 所有的代码都可以在
下载
部分中获得 ) 是一个用来显示个人信息的页面。 这些信息存储在一个 XML 文件 (data.xml) 中, 使用 JavaScript(main.js) 进行 XSLT 转换 (data.xsl),来生成页面内容 .
图 5. 应用示例
在“年龄”字段的输入框里面,我们只允许输入 0-9 的数字。但是我们可以发现,如果输入 025,在焦点从输入框移出后, 数字会变成 21,这种行为是不正确的,我们可以想到问题应该出在该输入框的 onblur 事件的代码里面。
那么 onblur 事件对应到哪个函数里面呢?页面上的大部分元素,包括年龄输入框,都是在页面加载后,由 JavaScript 动态生成的, 查看页面的源文件并不能帮我们找到这个函数。这时候就用到 IE Developer Toolbar 了。
定位目标函数 点击 IE 标准按钮工具栏上 IE Developer Toolbar 的图标,IE Developer Toolbar 的界面就出现在页面的底部。 点击 IE Developer Toolbar 界面左上角的“单击选择元素”图标 , 然后点击年龄输入框, 在 IE Developer Toolbar 的属性 (Attribute) 面板,就可以看到 onblur 对应的函数了,如下图所示。
图 6. 使用 IE Developer Toolbar 定位目标函数
调试代码 通过查找,我们在 main.js 里面找到 fieldBlur 函数,在这个函数的第一行,我们加入 debugger; 语句。然后刷新页面,在年龄输入框输入 025, 然后用鼠标点击输入框以外的页面,IE 会弹出“实时调试”对话框,选择“新实例 Microsoft Script Editor”。在打开的窗口中,我们可以看到 脚本在 debugger; 语句处暂停执行,如下图所示。
图 7. 使用 Microsoft Script Editor 进行调试
按两次 F10 键 ( 逐过程单步执行 ),代码将执行到 element.value = parseInt(element.value); 语句。分别选中 element.value 和 parseInt(element.value), 然后点击右键菜单中的“添加监视”项,通过对比它们的值,可以看到问题出在 parseInt 函数:字符串“025”被转换成了 21。通过查询函数手册, 发现我们没有给 parseInt 函数指定转换的基数 10,这样“025”被当作八进制数处理了。为了验证,我们可以在“监视 %1”面板, 手动加入 parsetInt(element.value, 10),可以看到转换后是正确的了。
图 8. 变量监视窗口
这样我们就很顺利地找到了问题的原因和解决办法。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
模拟电路
消费电子
嵌入式技术
LED技术
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议