使用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 相关文章推荐
Javascript 遍历对象中的子对象
Jul 03 Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
May 09 Javascript
JavaScript中的Math.LN2属性用法详解
Jun 12 Javascript
javascript中传统事件与现代事件
Jun 23 Javascript
原生js编写基于面向对象的分页组件
Dec 05 Javascript
探索Javascript中this的奥秘
Dec 11 Javascript
基于require.js的使用(实例讲解)
Sep 07 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
Oct 14 jQuery
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
Nov 17 Javascript
js中apply和Math.max()函数的问题及区别介绍
Mar 27 Javascript
在vue项目中集成graphql(vue-ApolloClient)
Sep 08 Javascript
js定义类的方法示例【ES5与ES6】
Jul 30 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
关于Intype一些小问题的解决办法
2008/03/28 PHP
php多维数组去掉重复值示例分享
2014/03/02 PHP
php项目中百度 UEditor 简单安装调试和调用
2015/07/15 PHP
Smarty模板引擎缓存机制详解
2016/05/23 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
JS代码格式化和语法着色V2
2006/10/14 Javascript
分享10篇优秀的jQuery幻灯片制作教程及应用案例
2011/04/16 Javascript
基于JQuery模仿苹果桌面的Dock效果(初级版)
2012/10/15 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
2014/01/09 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
2015/07/30 Javascript
jQuery 常见小例汇总
2016/12/14 Javascript
详解用webpack2搭建angular2的项目
2017/06/22 Javascript
JS实现瀑布流布局
2017/10/21 Javascript
解决vuex数据页面刷新后初始化操作
2020/07/26 Javascript
python字符串排序方法
2014/08/29 Python
Python 正则表达式(转义问题)
2014/12/15 Python
Python生成器(Generator)详解
2015/04/13 Python
编写Python的web框架中的Model的教程
2015/04/29 Python
简介Python的collections模块中defaultdict类型的用法
2016/07/07 Python
Python try except else使用详解
2021/01/12 Python
Canvas与图片压缩的示例代码
2017/11/28 HTML / CSS
加拿大时尚床上用品零售商:QE Home | Quilts Etc
2018/01/22 全球购物
俄罗斯第一家多品牌在线奢侈品精品店:Aizel.ru
2020/09/06 全球购物
WSDL的操作类型主要有几种
2013/07/19 面试题
2013届毕业生求职信范文
2013/11/20 职场文书
授权委托书格式模板
2014/04/03 职场文书
促销活动总结怎么写
2014/06/25 职场文书
2014年图书管理员工作总结
2014/12/01 职场文书
教师先进事迹材料
2014/12/16 职场文书
党员反四风学习心得体会
2016/01/22 职场文书