解决webstorm调试js时Evaluate脚本获取dom属性丢失问题
2016-12-01 16:34
645 查看
解决webstorm调试js时Evaluate脚本获取dom属性丢失问题,百思不得其解,最后找到,原因出在webstorm调用chrome调试接口时设置了一个"ownProperties":true,设置为false即可这需要修改chrome调试插件源代码修改成这样就可以,原生dom属性又回来了,付截图
原来调试的时候看到的是这样
chrome的f12调试是这样
使用我修改后的chrome插件后是这样,是不是原生属性又回来了,原因就是这段代码
调用的过程测试语句是chrome.debugger.sendCommand({tabId:35},"Runtime.getProperties",{"objectId":"{\"injectedScriptId\":1,\"id\":6}","ownProperties":false,"accessorPropertiesOnly":true},function(err, result) {console.log(err, result );})
这之前需要调用 chrome.debugger.sendCommand(14,"Runtime.evaluate",{"expression":"$(\"#myFlowProcedure\")","objectGroup":"ce","doNotPauseOnExceptionsAndMuteConsole":true},function(e){
alert(e);
})
chrome.debugger.sendCommand({tabId:35},"Runtime.evaluate",{"expression":"$('#myFlowProcedure')", returnByValue: true,generatePreview: true },function(err, result) {console.log(err, result );})
chrome.debugger.sendCommand({tabId:35},"Runtime.evaluate",{"expression":"document.getElementsByTagName('div')[0]", returnByValue: true,"ownProperties":false },function(err, result) {console.log(err, result );})
chrome.debugger.sendCommand({tabId:35},"DOM.querySelector",{"nodeId":1,"selector:":"*"},function(err, result) {console.log(err, result );})
然后多试几次就可以找到这个原因,付成品下载,使用方法chrome://extensions/加载已解压的扩展程序,选择目录即可
原来调试的时候看到的是这样
chrome的f12调试是这样
使用我修改后的chrome插件后是这样,是不是原生属性又回来了,原因就是这段代码
function $f5(command, dom, tabId, done) { _.com_jetbrains_browserConnection_chrome.LOG.debug(["DCmyTestFixed " + command.method]); if(command.params!=null&command.method=="Runtime.getProperties") { if (command.params.hasOwnProperty("ownProperties")) { command.params["ownProperties"] = false; } } chrome.debugger.sendCommand(dom.debuggee, command.method, command.params, $f4.bind(this, tabId, command, done)); }
调用的过程测试语句是chrome.debugger.sendCommand({tabId:35},"Runtime.getProperties",{"objectId":"{\"injectedScriptId\":1,\"id\":6}","ownProperties":false,"accessorPropertiesOnly":true},function(err, result) {console.log(err, result );})
这之前需要调用 chrome.debugger.sendCommand(14,"Runtime.evaluate",{"expression":"$(\"#myFlowProcedure\")","objectGroup":"ce","doNotPauseOnExceptionsAndMuteConsole":true},function(e){
alert(e);
})
chrome.debugger.sendCommand({tabId:35},"Runtime.evaluate",{"expression":"$('#myFlowProcedure')", returnByValue: true,generatePreview: true },function(err, result) {console.log(err, result );})
chrome.debugger.sendCommand({tabId:35},"Runtime.evaluate",{"expression":"document.getElementsByTagName('div')[0]", returnByValue: true,"ownProperties":false },function(err, result) {console.log(err, result );})
chrome.debugger.sendCommand({tabId:35},"DOM.querySelector",{"nodeId":1,"selector:":"*"},function(err, result) {console.log(err, result );})
然后多试几次就可以找到这个原因,付成品下载,使用方法chrome://extensions/加载已解压的扩展程序,选择目录即可
相关文章推荐
- 解决用JS脚本语言获取服务端的session的问题的个人小经验
- 关于数据序列化(5),定制FastJSON序列化(解决Java大Long类型js的Number接收丢失数据的问题,不序列化某些属性)
- 快速解决js动态改变dom元素属性后页面及时渲染的问题
- 快速解决js动态改变dom元素属性后页面及时渲染的问题
- 解决js生成的DOM的class不显示问题
- 只能从脚本中调用在类定义上有[ScriptService]属性的 Web 服务问题的解决方法
- 网页中通过js修改img的src属性刷新图片时,图片缓存问题现象表述及问题解决
- JS浮点类型运算精度丢失问题解决办法
- 灵活应用js调试技巧解决样式问题的步骤分享
- 解决hal.dll丢失问题 调试方法启动XP
- 网页中通过js修改img的src属性刷新图片时,图片缓存问题现象表述及问题解决
- 灵活应用js调试技巧解决样式问题
- 解决hal.dll丢失问题 调试方法启动XP
- paip.JS的调试--DOM元素的属性与事件绑定
- NetBox环境下ajax用get获取数据,中文乱码的问题解决:对象不支持此属性或方法: 'Response.CharSet'
- 灵活应用js调试技巧解决样式问题的步骤分享
- 关于将RadioButtonList的AutoPostBack属性设置为"True"获取子项时候引起回发的问题解决方法
- ASP.net注册客户端JS脚本,利用两次提交解决下载后画面不能刷新的问题
- php、asp.net关于后台设置的cookie前台JS获取时出现中文乱码问题解决
- 解决js获取不到 dom.style.left 类似的属性( currentStyle(IE),defaultView(FF) 样式值 )