使用谷歌浏览器时,我想调试一些JavaScript代码。 我怎样才能做到这一点?
显然,由于最近发生的诈骗事件,开发者工具被人们利用来发布垃圾邮件,甚至用于“黑客”账户。 Facebook已经阻止了开发者工具,我甚至不能使用控制台。 他们是怎么做到的? 一个堆栈溢出帖子声称这是不可能的 ,但Facebook已经证明他们错了。 只要进入Facebook并打开开发者工具,在控制台中输入一个字符,这个警告弹出。 不管你输入什么,它都不会被执行。 这怎么可能? 他们甚至在控制台中阻止自动完成:
这是为了给所有类似的问题提供一个规范的问答(但是有太多具体的问题可能成为一个关闭的目标候选人),每周一次或两次出现。 我正在开发一个应用程序,需要解析一个网站的表格。 由于派生网页的XPath表达式是无聊和容易出错的工作,我想使用Firebug的XPath提取器功能 (或其他浏览器中的类似工具)。 示例输入如下所示: <!– snip –> <table id="example"> <tr> <th>Example Cell</th> <th>Another one</th> </tr> <tr> <td>foobar</td> <td>42</td> </tr> </table> <!– snip –> 我想提取第一个数据单元格(“foobar”)。 Firebug提出了XPath表达式 //table[@id="example"]/tbody/tr[2]/td[1] 在任何XPath测试器插件中工作正常,但不是我自己的应用程序(未找到结果) 。 如果我减少查询//table[@id] ,它再次工作。 怎么了?
我正在创建(学习)Google Chrome的扩展程序。 为了调试一些代码,我插入了console.log() ,如下所示: var fourmTabs = new Array(); chrome.tabs.query({}, function (tabs) { for (var i = 0; i < tabs.length; i++) { fourmTabs[i] = tabs[i]; } }); for (var i = 0; i < fourmTabs.length; i++) { if (fourmTabs[i] != null) window.console.log(fourmTabs[i].url); else { window.console.log("??" + i); } } 这是非常简单的代码:获取所有标签信息到我自己的数组中,并打印一些东西。 为了检查代码是否正常工作,我运行代码。 问题来了: 当我使用断点(通过开发工具),代码运行良好。 没有断点,什么都不打印。 […]