从Chrome开发者工具中,我可以看到有请求http://www.example.com/abc.我确信这是我的Javascript的异步请求,但我不确定它是哪一行.
如何使用Chrome开发者工具检查此请求的确切来源
我正在从内容脚本发送消息到弹出窗口,并试图在单击扩展名时显示收到的消息。
我可以看到仅当我检查弹出窗口时才收到消息

contentscript.js
console.log("content script");
chrome.runtime.sendMessage("hello",function(response)
{
console.log("sending message");
});
Run Code Online (Sandbox Code Playgroud)
popup.js
console.log("popup script");
function onReq(request, sender, sendResponse)
{
ph=request;
console.log("msg: "+request);
document.getElementById("para").innerHTML = "msg: "+request;
}
chrome.runtime.onMessage.addListener(onReq);
Run Code Online (Sandbox Code Playgroud)
popup.html
<!doctype html>
<html>
<head>
<title>Example</title>
</head>
<body>
<div id="status"></div>
<p id="para">shows received message here</p>
</body>
<script src="popup.js"></script>
</html>
Run Code Online (Sandbox Code Playgroud)
我想接收该消息并在单击时显示该消息,而不必打开控制台。我该如何实现。
javascript popup google-chrome-extension google-chrome-devtools
我不知道“ NodeId”的意思是...
NodeId是源代码行?
我已经忍受了一段时间..:'(
请参阅以下url-DOM命令heightlightNode链接:https : //developer.chrome.com/devtools/docs/protocol/1.1/dom#command-highlightNode
google-chrome google-chrome-extension google-chrome-devtools
我需要检查一个网站中的HTML元素,但我不能,因为该元素隐藏得非常快.
当我悬停元素B时,元素A出现,当我的光标从元素B出来时,元素A消失.所以我不知道如何找出直接的父母,我不知道它是否被隐藏了.
如何检查快速隐藏的元素?
html firebug google-chrome code-inspection google-chrome-devtools
我的服务器上没有页面,页面加载期间正在运行该页面
...other stuff...
<script src="http://someserver.com/script.js"></script>
...other stuff...
Run Code Online (Sandbox Code Playgroud)
并引起一些问题。
我需要调试它,所以首先我想阻止该脚本加载。
我怎样才能做到这一点?我发现的是,页面加载后可以删除,编辑或添加脚本。但这不是我所需要的。我需要加载整个页面,但跳过加载此脚本。
我在这个问题上花了几个星期,但似乎找不到解决方法。这是用例。我正在开发chrome扩展程序,此扩展程序的主要目的之一是检测WebSocket何时打开或关闭。我看过WebSockets的HTML5规范,它们公开了以下相关方法/事件:
WebSocket.prototype.readyState = 0;
WebSocket.prototype.onopen = 0;
WebSocket.prototype.onerror = 0;
WebSocket.prototype.onclose = 0;
function WebSocket(url,protocols) {}
WebSocket.prototype.close = function(code,reason) {};
Run Code Online (Sandbox Code Playgroud)
由于我无法从扩展中访问单个实例,因此我不得不依靠包装这些原型来确定何时调用它们。例如:
WebSocket.prototype.close = function (close) {
console.log("Closing socket....");
return function (code, reason) {
return close.apply(this, arguments);
};
}(WebSocket.prototype.close);
Run Code Online (Sandbox Code Playgroud)
但是,我真正想做的是以某种方式为onopen,onerror或onclose包装或注册侦听器。不幸的是我不知道该怎么做。我尝试了一堆不同的方法。上面的方法适用于“关闭”,但它们不提供我依赖的“打开”。最有前途的想法没有用,它是:
WebSocket.prototype.constructor = function (constructor) {
debugger;
console.log("Register all my events here!");
constructor.apply(this, arguments);
}(WebSocket.prototype.constructor);
Run Code Online (Sandbox Code Playgroud)
不幸的是,我从不能够达到断点或查看控制台日志,这使我相信自己做错了什么。
作为最后的选择,我尝试使用Object.Observe(),但无法观察原型:
Object.observe(WebSocket.prototype.readyState, function (changes) {
console.log("Ready state");
});
Object.observe(WebSocket.prototype.onopen, function (changes) {
console.log("On open");
});
Run Code Online (Sandbox Code Playgroud)
因此,总而言之,我尝试了几种不同的方法,但最终我碰壁了。最后,我的目标是通过侦听任何公开的方法或事件来检测WebSocket何时打开或关闭。任何帮助将不胜感激。
更新: 这是一个小提琴,包括以下建议:
http://jsfiddle.net/s35zpfq9/1/
谢谢!
javascript html5 websocket google-chrome-extension google-chrome-devtools
如何在Chrome中调试TypeScript代码而不是JavaScript代码?
我每次从一开始就只找到一种方法.我使用WebStorm 11在Angular2中编写代码.
javascript google-chrome-devtools webstorm typescript angular
重现此行为的步骤:
第1步 - 使用谷歌浏览器访问此页面(无需开放工具):http://www.thisiswhyimbroke.com/star-trek-planetary-glassware-set/
第2步 - $.fn.jquery在控制台中运行.它说jQuery不存在.
第3步 - 刷新页面并$.fn.jquery在控制台上再次运行.jQuery现在存在.
你知道为什么会这样吗?<head>在这两种情况下都要求使用jQuery .我无法在任何其他浏览器中重复播放,隐身或Chrome开放工具打开.
javascript ×6
angular ×1
angularjs ×1
debugging ×1
filesystems ×1
firebug ×1
html ×1
html5 ×1
jquery ×1
popup ×1
typescript ×1
websocket ×1
webstorm ×1