草庐IT

READ_CALL_LOG

全部标签

javascript - jQuery 延迟 : use to delay return of function until async call within function complete + get return value

如何正确使用jQuerydeferreds来延迟函数的返回,直到函数内的异步调用完成+获取返回值?这是我当前的代码:functiongetFields(page){vardff=$.Deferred();result={};$.ajax(//theasynccall{url:page,success:function(data){//workoutvaluesforfield1&field2fromdatahereresult={'field1':field1,'field2':field2};},complete:function(){dff.resolve(result);//my

javascript - 为什么 console.log 在 Chrome 的某些网站上是一个空函数?

转到Twitter的登录页面并在控制台中键入以下内容:window.addEventListener('keypress',function(e){console.log('hello')},true)(注意:如何将第三个参数设置为true以启用事件捕获。这会导致事件在被子元素使用之前首先被窗口拦截。)尝试按一些键。请注意hello是如何不输出到控制台的。为keydown或keyup添加事件监听器不会改变任何内容。hello将在大多数网站上获得输出,但不会在Twitter或Gmail等网站上获得输出。为什么?是什么阻止了事件监听器?编辑:似乎在Firefox上按预期工作。但不是Chro

javascript - Safari/WebKit 的 console.log DOM 节点作为对象?

这让我抓狂了一段时间。当我console.log一个DOM节点(通过示例从document.getElementById返回)时,它显示为一个交互式html元素,就像它出现在“元素”选项卡上一样。这肯定很方便,但有时我只想展开对象并查看其所有属性,就像我可以对登录到控制台的所有其他类型的对象一样。有什么方法可以让DOM节点作为常规对象显示在控制台中? 最佳答案 使用console.dir而不是console.log。console.log(document.body);...console.dir(document.body);>H

javascript - 未捕获的类型错误 : cannot read property 'replace' of undefined In Grid

我是KendoGrid和KendoUI的新手。我的问题是如何解决此错误UncaughtTypeError:Cannotreadproperty'replace'ofundefined这是我在KendoGrid上的代码$("#Grid").kendoGrid({scrollable:false,sortable:true,pageable:{refresh:true,pageSizes:true},dataSource:{transport:{read:{url:'/Info/InfoList?search='+search,dataType:"json",type:"POST"}},p

javascript - 什么时候应该使用 call() 与直接调用函数?

我有一个使用大量回调的JavaScript应用程序。一个典型的函数将接受一个回调,并用另一个回调将其包装起来。Namespace.foo=function(arg,their_on_success){varmy_on_success=function(result){console.log('my_on_success()called');if('function'===typeoftheir_on_success){their_on_success(result);}}something(arg,my_on_success);};给定上面的例子,这样的设置应该在什么时候设置为原生ca

javascript - 如何使用 Jest 和 jsdom 来测试 console.log?

我刚刚开始使用Jest,并且已经成功编写了测试DOM的单元测试。我有一个library在屏幕上输入内容,所以我可以很好地进行测试。在某些情况下,我的库不会抛出错误,而是吐出console.warn或console.log。是否可以使用Jest来测试这些控制台消息是否正在发生? 最佳答案 您可以像这样通过spy设置console.log:global.console={warn:jest.fn(),log:jest.fn()}//runyourcodeexpect(global.console.log).toHaveBeenCalle

javascript - 自定义控制台日志功能,一个 console.log 包装器

functionlog(msgOrObj){if(dev_mode){console.log({'message':msgOrObj,'caller':arguments.callee.caller.toString()});}}因此,我尝试编写一个简单的自定义控制台日志函数(如上所述)。但是,我正在努力寻找调用者来自哪个文件和行。我能看到的最多的是调用它的函数。有人做过类似的事情吗?或者这甚至可能吗?第70行的somescript.js中使用的示例:log('someveryimportantmessage!') 最佳答案 是的,

javascript - 从 Javascript、Ajax、IE : can responseBody be read from Javascript (not VB)? 访问二进制数据

首先,我知道这个问题:HowdoIloadbinaryimagedatausingJavascriptandXMLHttpRequest?特别是其中的最佳答案,http://emilsblog.lerch.org/2009/07/javascript-hacks-using-xhr-to-load.html.因此使用Firefox(以及实际上似乎也可以工作的更高版本的Chrome;不知道Opera)从Javascript访问二进制数据。到目前为止,一切都很好。但我仍然希望找到一种无需使用VB即可使用现代IE(最好是IE6,但至少是IE7+)访问二进制数据的方法。已经提到XHR.mess

javascript - 使用 .bind() 避免 .call() 和 .apply()

我正在寻找一种方法来完成某项任务,那就是从jQuery.when.apply(null,promiseArray).done(...)到when(promiseArray).done(...)您可能知道,.bind()可以用来创建类似默认参数的东西,也可以做一些非常漂亮的事情。例如,而不是总是调用vartoStr=Object.prototype.toString;//...toStr.call([])//[objectArray]我们可以这样做vartoStr=Function.prototype.call.bind(Object.prototype.toString);toStr(

javascript - 未捕获的类型错误 : Cannot read property 'length' of undefined

当我尝试从AJAX调用中获取数据并在单击提交按钮时将其插入另一个函数时,如何避免出现以下错误?ajax函数中的console.log调用显示数据已被抓取,我希望然后存储在json_data中。当时的目的是使用此数据来更改通过HTML表单提交的字符串。然后在“点击”函数的行返回错误:console.log(json_data.length);TestForm#results_box{border:red5pxsolid;}#place{border:#cccccc1pxsolid;}$(document).ready(function(){varjson_source="https://