之前写了使用js输入长文件的文章,有同事在使用时,发现竟然无法输入,也不知道是什么原因,且用的还是id方式。在参考网文后,才发现是js写的有问题,现总结一下javascript调试,在firefox中就自带有。打开如下:-------->勾选后,按f12就可以出来我们在控制台中输入脚本,发现id定位并不是我们要定位的框只有转变方式,用classname来定位,结果是我们想要的,输入文本试试输入成功 原文:http://www.cnblogs.com/landhu/p/6668138...
前言 大家都知道在node程序开发中时,经常需要打印调试日志。用的比较多的是debug模块,比如express框架中就用到了。下文简单举几个例子进行说明。文中相关代码示例,可在这里找到。 备注:node在0.11.3版本也加入了util.debuglog()用于打印调试日志,使用方法跟debug模块大同小异。基础例子 首先,安装debug模块。 npm install debug使用很简单,运行node程序时,加上DEBUG=app环境变量即可。 /*** debug基础例子*/ var debug = r...
我想: >将调试日志语句插入到我希望能够在开发期间打开和关闭的代码中;和>然后将这些陈述完全剥离出来. 要完成剥离日志以进行生产,我已经看到React项目本身使用了这个习惯用法:if ("production" !== process.env.NODE_ENV) {// warn or log or whatever }通过将process.env.NODE_ENV设置为“production”来编译模块,然后通过像UglifyJS这样的死代码消除器运行bundle,日志将被删除为无法访问. 这很好,但有更灵活的解决方案吗?我在...
这篇文章主要介绍了浏览器调试动态js脚本的方法,文中给大家带来两种调试方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下前两天拉取公司前端代码修改,发现在开发者工具的sources选项里边,居然没有列出来我要调试的js脚本,后来观察了一下,脚本是动态在页面里引入的,可能是因为这样所以不显示出来,但是如果不能断点调试,只靠打印日志真要把人累死了,效率太低,网络搜索试验了一下,有两种方式可以解决:1、在脚本里边...
我在Chrome中打开了Javascript调试器(Ctrl Shift L)并开始使用它在我的代码中设置断点. 与Firebug相比,这是一个非常不同的界面(它是所有命令行驱动的)所以我想知道如何做一个简单的事情,比如打印一个对象的所有属性. 如果我有这样的对象:var opts = {prop1: "<some><string/></some>",prop2: 2,prop3: [1,2,3] }我可以设置一个断点并检查对象,但我似乎只得到一个属性,我不确定会出现哪个属性:$print opts #<an Object>试图获得所...
在上篇文章给大家介绍了JavaScript使用DeviceOne开发实战(一) 配置和起步,本篇文章继续给大家介绍关于javascript实战相关内容,一起学习吧。 生成调试安装包 首先需要说明的是,这个步骤并不是每次调试App都必须的,大部分情况生成一次调试安装包,安装到手机上之后就可以忽略整个这个步骤。因为调试安装包包含了很多原生组件,都是可以定制勾选的,如果你需要额外增加一些原生组件,则需要勾选更多的组件并要重新生成调试安装包...
最近在一个新的web项目中开发功能。这个项目的管理界面有一个特点,框架是固定的,不会刷新,每次点新的页面仅仅刷新一个div。div里面不是套的iframe,于是导致了一个问题,用浏览器无法调试异步加载页面里包含的js文件。简单的说就是在调试工具里面看不到异步加载页面里包含的js文件。 网上找到了一个解决办法,就是在需要调试的js文件顶部加一行代码: //@ sourceURL=msgprompt.js 注意,@符号和sourceURL间必须有空格。Chrome下...
具体步骤: a. 打开Firebug后,启用“脚本”调试,找到引用的脚本文件(或者行内js);b. 在适当的位置加入断点; c. 如果断点已经执行过,则刷新页面,这时脚本就会在断点处中断。如果断点没有执行过,那可以直接执行页面上的动作(例如点击按钮等),然后代码会在断点处中断;d. 观察函数调用栈,观察local变量,也可以进行单步执行,进行调试。 确实非常简单!用Firebug断点调试的优点总结如下:能加断点的行用绿色行号,非常直...
第十四章 错误处理与调试 1.开启浏览器错误报告 1.1 Internet Explorer □Toos → Internet Option → Anvanced → Display a notification about every script error 1.2 Firefox □Tools → Error Console (Firebug) 1.3 Safari □Edit → Preferences → Advanced → Show develop menu in menubar/Develop → Show Error Console 1.4 Opera □Tools → Advanced → Error Console 1.5 Chrome □Control this page → Developer...
昨天在写一个很简单的html页面加上一些基本的javascript脚本时,发现脚本怎么都无法运行,花了1个多小时折腾才发现错误在哪里。简单给出如下类似代码,看看你能找到问题在那里么? 仔细看后发现了么。原来是有个分号是在中文模式下输入的,而在notepad里面两种分号区别并不是很明显,尤其是当代码长时更难找到。如果你说那不开中文输入法不就完了么,可是如果上图中的两处alert都需要你提示的是中文而非英文,这就难免需要在中英文...
我正在处理本地html文件,该文件存储在Win7计算机上并在IE 9中打开.此html文件使用javascript和jStorage. 但是,当我运行时,出现错误“ SCRIPT5007:无法获取属性’set’的值:对象为null或未定义.”该错误指向语句$.jStorage.set(“ Key”,“ Hello”);. 我究竟做错了什么?我已经尽可能地使html和javascript基本化,以缩小范围. 这是html:<!DOCTYPE html> <html><head><title>Backlog Tracker</title><script src="jquery-2.1.1.mi...
代码如下: if(!window.console){ var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml","group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; window.console = {}; for (var i = 0; i < names.length; i++){ window.console[names[i]] = function() {}; } } 可以放在基础库里面,当然,注意names和i的作用域~
我正在开发一个测试套件(作为Chrome扩展程序实现),它使用Chrome / Chromium的远程调试协议以编程方式获取和分析堆快照.因为Profiler.*似乎不是公共协议的一部分,所以我使用this page作为参考. 现在,我可以通过调用HeapProfiler.takeHeapSnapshot来获取堆快照,如下面的代码段所示.但是,当我尝试调用HeapProfiler.getHeapSnapshot时,我的回调被完全忽略.var debuggerId = {tabId: sender.tab.id}; chrome.debugger.attach(debuggerId...
我需要能够调试Nashorn运行的JS代码,即:ScriptEngineManager sem = new ScriptEngineManager(); ScriptEngine engine = sem.getEngineByName("nashorn"); engine.eval("load (\"src/com/sap/rdl/runjs/file.js\");");现在,我需要在JS文件中添加一个断点,并能够以编程方式逐步完成这些行(实现调试器). 我知道intelliJ和NetBeans实现了这一点,所以应该有可能,但是我在Nashorn中找不到任何允许步进和/或映射线或变量的API. 任何建议/...
但是仅从调试的角度来说,这些调试器的功能是完全够用的。其实我更需要的不是一个 JavaScript IDE,而是一个 JavaScript 重构工具,这样可以使我快速地对 JavaScript 组件进行重构,比使用 UltraEdit 进行查找/替换的原始方法效率会提高很多,而且更加安全。其实任何一种没有重构工具的语言的开发效率都是没有办法和 Java 这样的语言(有 Eclipse、IDEA 等等强大的重构工具)相提并论的。共产主义尚未实现,这确实是现实,但是并不...