使用IE的地址栏来辅助调试Web页脚本


Posted in Javascript onMarch 08, 2007

不小心使用Shift + Left Click去点击了一个链接目标(href)是脚本的超链接,结果却把是否调试脚本的对话框弄了出来。点击yes居然可以打开调试这一句脚本,可是这句脚本是哪里来的呢?
    使用IE的地址栏来辅助调试Web页脚本
     回头看看被新打开的那个IE,结果地址栏里就写着:javascript:open(url)呢。原来IE的地址栏可以使用"JavaScript:"这个声明来执行脚本也,在试试JavaScript:alert('ok'),果然ok!

     好玩的特性,再写点复杂的脚本:javascript: var s=''; for( var i=0; i < 10 ; i++ ) s +=i;。结果是出来了"0123456789",可是执行结果显示在浏览器的主显示区域里了,把IE里原有的内容弄没了。要是可以不影响原有的页面,岂不是可以读些页面里的内容,修后继续提交吗?其实可以办到了,只要保证脚本最有一句是alert(),在浏览器里执行完脚本后就不会跳离当前页面的内容。例如打开http://www.google.com,在地址栏里输入:javascript: document.getElementsByTagName('Input')[1].disabled = true; alert('');,会看见什么呢?不能输入查询关键字了吧?

     其实在地址栏里运行脚本的作用域就是当前页面的脚本作用域,利用这个特点我们除了可以简单的执行脚本语句,还可以辅助我们调试脚本,比如我希望察看一些变量的值,而我们又不需要进入复杂的调试模式。下图就是我调试popup菜单时的一个例子,用这个办法可以避免在代码调试时到处写status=...。
    使用IE的地址栏来辅助调试Web页脚本
     这里我们除了可以在地址栏里写JavaScript:外,同时还可以写vbscirpt: alert("ok!"),ecmascript:和jscirpt。不过ecmascript会自动被转为javascirpt,jscript会被转为vbscript。

     这个特性虽然简单,希望大家都能来玩玩,并且玩出更多的花样哦。

Javascript 相关文章推荐
日期 时间js控件
May 07 Javascript
JavaScript初学者需要了解10个小技巧
Aug 25 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
Dec 16 Javascript
JS实现网页上随滚动条滚动的层效果代码
Nov 04 Javascript
JavaScript数组的定义及数字操作技巧
Jun 06 Javascript
JS禁止查看网页源代码的实现方法
Oct 12 Javascript
JavaScript中关键字 in 的使用方法详解
Oct 17 Javascript
JS库之Waypoints的用法详解
Sep 13 Javascript
JS正则表达式常见用法实例详解
Jun 19 Javascript
微信小程序实现底部导航
Nov 05 Javascript
使用taro开发微信小程序遇到的坑总结
Apr 08 Javascript
基于javascript原生判断DOM是否加载完毕
Oct 14 Javascript
JScript中的undefined和&quot;undefined&quot;的区别
Mar 08 #Javascript
JavaScript语句可以不以;结尾的烦恼
Mar 08 #Javascript
JScript中的&quot;this&quot;关键字使用方式补充材料
Mar 08 #Javascript
function, new function, new Function之间的区别
Mar 08 #Javascript
JavaScript中this关键字使用方法详解
Mar 08 #Javascript
区分JS中的undefined,null,&quot;&quot;,0和false
Mar 08 #Javascript
在JavaScript中使用inline函数的问题
Mar 08 #Javascript
You might like
基于在生产环境中使用php性能测试工具xhprof的详解
2013/06/03 PHP
php面向对象与面向过程两种方法给图片添加文字水印
2015/08/26 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
2016/04/25 PHP
PHP框架性能测试报告
2016/05/08 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
jquery1.4.2 for Visual studio 2010 模板文件
2010/07/14 Javascript
Javascript技巧之不要用for in语句对数组进行遍历
2010/10/20 Javascript
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
统计出现最多的字符次数的js代码
2010/12/03 Javascript
js对数字的格式化使用说明
2011/01/12 Javascript
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
通过url查找a元素并点击
2014/04/09 Javascript
自己封装的常用javascript函数分享
2015/01/07 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
简单实现限制uploadify上传个数
2015/11/16 Javascript
浅析jQuery Mobile的初始化事件
2015/12/03 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
深入解读Node.js中的koa源码
2019/06/17 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
Python Matplotlib库入门指南
2015/05/18 Python
Python3中exp()函数用法分析
2019/02/19 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
2019/03/18 Python
详解Python并发编程之创建多线程的几种方法
2019/08/23 Python
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
Brother加拿大官网:打印机、贴标机、缝纫机
2019/10/09 全球购物
mysql有关权限的表都有哪几个
2015/04/22 面试题
新年晚会主持词
2014/03/24 职场文书
争做文明公民倡议书
2014/08/29 职场文书
海贼王十大逆天果实 魂魂果实上榜,岩浆果实攻击力最强
2022/03/18 日漫