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

不小心使用Shift + Left Click去点击了一个链接目标(href)是脚本的超链接,结果却把是否调试脚本的对话框弄了出来。点击yes居然可以打开调试这一句脚本,可是这句脚本是哪里来的呢?
    
     回头看看被新打开的那个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=...。
    
     这里我们除了可以在地址栏里写JavaScript:外,同时还可以写vbscirpt: alert("ok!"),ecmascript:和jscirpt。不过ecmascript会自动被转为javascirpt,jscript会被转为vbscript。

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

(0)

相关推荐

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

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

  • 在Vista IIS 7 中用 vs2005 调试 Web 项目的注意事项

    在Vista IIS 7 中用 vs2005 调试 Web 项目核心是要解决以下几个问题:1.Vista 自身在安全性方面的User Account Control (UAC) 2.安装必须的IIS7 组件.3.Vista 自带的IIS7 跟 IIS 6 在底层都发生了变化,我们如何让IIS7以兼容IIS6 的方式运行.因为VS2005并不支持IIS7.下面通过截图方式来说明如何配置上述几点,以保证VS2005可以调试 Vista 操作系统中基于IIS的Web 项目. 一.安装必须的IIS7 组

  • 自动把纯文本转换成Web页面的php代码

    首先让我们来看一个我朋友希望转换的纯文本文件的例子: 以下为引用的内容: 复制代码 代码如下: Green for Mars! John R. Doe The idea of little green men from Mars, long a staple of science fiction, may soon turn out to be less fantasy and more fact. Recent samples sent by the latest Mars explorati

  • 脚本和web页共用同一个文件测试

    /* 脚本和web页共用同一个文件测试 body { font-size:1px; color:#fff; } #body { font-size:12px; color:#000; } 脚本和web页共用同一个文件测试 */ [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • IE:用电子邮件发送Web页

    想不想把自己做好的或是特别喜爱的Web页用电子邮件发给好朋友?怎么发呢,启动Outlook,在邮件中做个附件,再发出去?嘻嘻,有了IE5,再用这个办法可就有点笨了.来,一起来看看吧. 先在IE中打开要发送的页面,点击"文件"菜单,点击"发送",点击"电子邮件页面"或"电子邮件链接",在这里我们选择"电子邮件页面",弹出了"选择配置文件"对话框,缺省的配置文件是"Microsof

  • 浏览器调试动态js脚本的方法(图解)

    前两天拉取公司前端代码修改,发现在开发者工具的sources选项里边,居然没有列出来我要调试的js脚本,后来观察了一下,脚本是动态在页面里引入的,可能是因为这样所以不显示出来,但是如果不能断点调试,只靠打印日志真要把人累死了,效率太低,网络搜索试验了一下,有两种方式可以解决: 1.在脚本里边增加 //# sourceURL=xxxxxxxxx.js,名称自己命名,可以直接使用文件名,如下图: 然后在网页里打开包含这个js的页面,这样就在开发者工具里能够看到了,可以像普通js一样正常打断点并进行调

  • 调试JavaScript/VBScript脚本程序(IE篇)

    这两种方式,都可以使用Visual Studio来进行调试,先看大家用得比较频繁的网页脚本程序的调试: 1. 要调试网页里面的脚本程序,调试器需要宿主程序-这里也就是IE的支持,实际上所有的脚本程序解释器都实现了一个COM的调试接口.调试器通过查询解释器的这个接口,可以设置断点,查询变量以及捕捉异常,当然,查询到这个接口,需要宿主程序同意--至于如何实现这个接口,我们会在以后的文章里面讲到. 2. 默认情况下,IE是将脚本调试支持功能关闭的,因此你需要显示地打开它.打开IE,点击"工具"

  • ASP.NET Web页生命周期和执行的方法介绍

    以上所列的阶段中有些在页面级是不可见的,并且仅对服务器控件的编写者和要创建从 Page 导出的类的开发人员有意义.Init.Load.PreRender.Unload,再加上由嵌入式控件定义的所有回发事件,就构成了向外发送页面的各个阶段标记. 执行的各个阶段 页面生命周期中的第一个阶段是初始化.这个阶段的标志是 Init 事件.在成功创建页面的控件树后,将对应用程序触发此事件.换句话说,当 Init 事件发生时,.aspx 源文件中静态声明的所有控件都已实例化并采用各自的默认值.控件可以截取 I

  • javascript 文字上下间隔滚动的代码 符合WEB标准 脚本之家修正版

    第一个 文字上下间隔滚动 修正版 符合WEB标准的文字间隔滚动JS代码 var marqueeContent=new Array(); //滚动新闻 marqueeContent[0]='14:25 HTML/JS互相转换工具-IE7兼容版'; marqueeContent[1]='14:25 css 在线压缩工具'; marqueeContent[2]='14:25 CSS整形与最佳化工具[压缩]'; marqueeContent[3]='14:25 JS Minifier js压缩'; va

  • 如何调试Linux shell脚本

    shell也有一个真实的调试模式.如果在脚本"strangescript" 中有错误,您可以这样来进行调试: sh -x strangescript 这将执行该脚本并显示所有变量的值. shell还有一个不需要执行脚本只是检查语法的模式.可以这样使用: sh -n your_script 这将返回所有语法错误. linux/unix shell l脚本调试方法 Shell提供了一些用于调试脚本的选项,如下所示: -n 读一遍脚本中的命令但不执行,用于检查脚本中的语法错误 -v 一边执行

随机推荐