草庐IT

simulate_many

全部标签

javascript - ES6 : import many files

我有一个导入大量AMD模块并在每个模块上调用初始化方法的脚本:define(['underscore','./mod0',...,'./modN'],function(_){_.each(_.toArray(arguments).slice(1),function(m){init(m);});});我需要切换到ES6导入语法,我想弄清楚是否可以从列表中导入模块,其方式类似于我的AMD代码。我想避免像这样的精神错乱:importmod0from'./mod0';...importmodNfrom'./modN';init(mod0);...init(modN);关于如何实现这一点有什么建

javascript - A* 算法 : closed list contains too many elements/too large

我目前正在用JavaScript实现A*算法。但是,我遇到了一个问题:我的closedList似乎太大了。这是输出的屏幕截图:什么会导致这个问题?我的启发式计算有误吗?Node.prototype.getHeuristic=function(pos0,pos1){//ManhattenDistancevarhorizontalDistance=Math.abs(pos1.x-pos0.x);varverticalDistance=Math.abs(pos1.y-pos0.y);returnhorizontalDistance+verticalDistance;}还是我在这个方法中理解/

javascript - 有什么方法可以在 'simulate' 上右键另存为命令或使用 JavaScript 在浏览器中强制下载文件?

我有这种情况,我们将媒体文件存储在全局CDN上。我们的网络应用程序托管在它自己的服务器上,然后在需要媒体Assets时从CDNurl调用它们。最近我们有一个页面,用户可以在其中下载文件附件,但是某些文件类型是在浏览器中打开而不是下载(例如MP3)。解决这个问题的唯一方法是手动指定HTTP响应来附加文件,但我能做到这一点的唯一方法是将文件从CDN下载到我的服务器,然后将其反馈给用户,这违背了拥有它的目的在全局CDN上。相反,我想知道是否有一些客户端解决方案?编辑:刚在某处找到这个,但我不确定它是否适用于所有浏览器?functiondownloadme(x){myTempWindow=wi

javascript - 为什么 apply with too many arguments 抛出 "Maximum call stack size exceeded"?

在Chrome和Node中,以下代码会抛出错误:functionnoop(){}vara=newArray(1e6)//Array[1000000]noop.apply(null,a)//UncaughtRangeError:Maximumcallstacksizeexceeded我明白为什么将100万个参数传递给一个函数可能是个坏主意,但谁能解释为什么错误是超出最大调用堆栈大小,而不是更相关的错误?(如果这看起来很无聊,原来的情况是Math.max.apply(Math,lotsOfNumbers),这是一种从数组中获取最大数的不合理方法。) 最佳答案

javascript - React.addons.TestUtils.Simulate.scroll 不工作

我正在尝试使用ReactJS和JSDOM模拟滚动事件。最初我尝试了以下方法:varfooter=TestUtils.findRenderedDOMComponentWithClass(Component,'footer');footer.scrollTop=500;TestUtils.Simulate.scroll(footer.getDOMNode());//Itriedthisaswell,butnoluck//TestUtils.Simulate.scroll(footer);根本不会传播滚动事件。然后,我手动创建了事件并且一切正常:varevt=document.createE

javascript - Chrome : Simulate keypress events on input text field using javascript

stackoverflow中有很多关于此的内容,但似乎没有一个适合我的情况。我有一个输入文本字段,我想模拟按键事件来填充文本字段。原因:我在不提供API的网络界面上自动执行大量数据输入任务。使用.value更改输入字段不会触发界面的JS端(Angular)。这就是为什么我要模拟按键事件。首先我尝试了这个:varinp=document.getElementById('rule-type');inp.dispatchEvent(newKeyboardEvent('keypress',{'key':'a'}));然后我了解到在Chrome中key和code保持为0并且在KeyBoardEv

javascript - JS : How to track errors where there are many functions calls

每个函数都会创建新的错误对象。那么我怎样才能得到以前的错误呢?例如,这是我的代码:functionmain(callback){a(function(err){if(err){callback(newError('cannotrunmainfunction..'));return}})}functiona(callback){b(function(err){if(err){callback(newError('cannotrunbfunction'));return}})}functionb(callback){if(1==2)callback(newError('Errorinbfu

javascript - React 的 TestUtils.Simulate.keyDown 不起作用

我的应用程序中有很多组件可以响应不同的按键操作,到目前为止,我使用TestUtils.Simulate.keyDown的测试都无法正常工作。似乎keyDown简单明了是行不通的。这是我要测试的组件:描述.jsvarReact=require('react/addons');varDescription=React.createClass({render:function(){return()}});module.exports=Description;这是一个失败的简单测试:描述-test.jsvarReact=require('react/addons');varTestUtils=

JavaScript : Simulate Key Events into Textbox/Input

尽管有很多关于如何在JS中模拟按键(keydown/keypress)的文章,但似乎没有一种解决方案适用于我正在使用的浏览器(FirefoxESR17.0.7、Chrome28.0.1500.72、IE10).我测试过的解决方案取自here,here,和here.我想做的是模拟文本区域/输入中的任何击键。虽然我可以追加/删除直接更改“值”的字符,但我看不到其他选项,只能为“向上”、“向下”、“主页”等键输入模拟。根据documentation,应该很简单。例如:vare=document.createEvent("KeyboardEvent");if(e.initKeyboardEve

javascript - 为什么我会在 gulp 中得到 "task completion callback called too many times"?

给定以下gulp任务,为什么我会收到以下错误?Error:taskcompletioncallbackcalledtoomanytimesfunctionmyTask(options,cb){//cbisthegulpcbvarserverInstance=http.createServer(dispatch({/*routes*/}));serverInstance.listen(options.port,function(){cb();//Stacktraceidentifiesthislineasthrowingtheerror});}functionpartial(fn){va