使用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 相关文章推荐
页面中body onload 和 window.onload 冲突的问题的解决
Jul 01 Javascript
javascript基础知识大集锦(一) 推荐收藏
Jan 13 Javascript
javascript数组去掉重复
May 12 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
Dec 20 Javascript
JavaScript计时器示例分析
Feb 05 Javascript
对Angular.js Controller如何进行单元测试
Oct 25 Javascript
Kotlin学习第一步 kotlin语法特性
May 25 Javascript
JS实现简单短信验证码界面
Aug 07 Javascript
JS中关于正则的巧妙操作
Aug 31 Javascript
Vue+webpack项目基础配置教程
Feb 12 Javascript
JS如何获取地址栏的参数实例讲解
Oct 06 Javascript
layui实现多图片上传并限制上传的图片数量
Sep 26 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+mysqli数据库连接的两种方式
2015/01/28 PHP
php cli配置文件问题分析
2015/10/15 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
2019/04/12 PHP
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
2006/06/26 Javascript
JavaScript 对Cookie 操作的封装小结
2009/12/31 Javascript
JS去除字符串两端空格的简单实例
2013/12/27 Javascript
extJS中常用的4种Ajax异步提交方式
2014/03/07 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
JS实现黑色大气的二级导航菜单效果
2015/09/18 Javascript
Javascript+CSS3实现进度条效果
2016/10/28 Javascript
JS自动生成动态HTML验证码页面
2017/06/14 Javascript
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
JS中数据结构之栈
2019/01/01 Javascript
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
layer弹出层自适应高度,垂直水平居中的实现
2019/09/16 Javascript
vue或react项目生产环境去掉console.log的操作
2020/09/02 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
[41:54]2018DOTA2亚洲邀请赛 4.1 小组赛A组加赛 TNC vs Liquid
2018/04/03 DOTA
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python交换变量
2008/09/06 Python
Python 文件重命名工具代码
2009/07/26 Python
Python模拟登陆实现代码
2017/06/14 Python
Python3.5 创建文件的简单实例
2018/04/26 Python
解决django中form表单设置action后无法回到原页面的问题
2020/03/13 Python
pandas数据处理之绘图的实现
2020/06/15 Python
个人找工作求职简历的自我评价
2013/10/20 职场文书
致全体运动员广播稿
2014/02/01 职场文书
工商治理实习生的自我评价分享
2014/02/20 职场文书
煤矿安全生产标语
2014/06/06 职场文书
关于安全的广播稿
2014/10/23 职场文书
2014年发展党员工作总结
2014/11/12 职场文书
Redis 常见使用场景
2021/08/30 Redis
使用Redis做预定库存缓存功能
2022/04/02 Redis
vue el-table实现递归嵌套的示例代码
2022/08/14 Vue.js