草庐IT

方案设计

全部标签

javascript - 寻找用于在客户端生成 pdf 的解决方案(angular js)

我正在寻找使用AngularJs从(html+css+javascript)生成pdf的解决方案。我测试了两种解决方案:jsPDF(不带css)虾(基于Ruby)这对我不起作用。我该怎么做? 最佳答案 毕竟,我发现了优秀的PhantomJS.二进制文件很容易安装在服务器上,不需要额外的依赖项,并且附带了大量示例代码,包括开箱即用的“打印到PDF”功能。通过一些小的调整,我们为我们的用例定制了脚本,并在几分钟内获得了我们网页的PDF副本。PhantomJS自2011年以来一直存在,并被各种开源产品使用,列在他们的网站上

Javascript 插件设计模式,如 jQuery

有人可以用javascript写下一个非常简单的基本示例来概念化(并希望让我理解)jQuery插件设计模式是如何完成的以及它是如何工作的吗?我对如何为jQuery创建插件不感兴趣(所以这里根本没有jQuery代码)。我感兴趣的是一个简单的解释(可能有一些Javascript代码)来解释插件概念是如何完成的。请不要回复我去阅读jQuery代码,我试过了,但是它太复杂了,否则我不会在这里发布问题。谢谢! 最佳答案 jQuery有一个函数库,存储在一个名为fn的内部对象中。.这些是您可以在每个jQuery对象上调用的对象。当你做$("di

javascript - 在 HTML5 Canvas 上绘制 1 像素线的完整解决方案

在HTML5Canvas上绘制1像素线总是有问题。(引用http://jsbin.com/voqubexu/1/edit?js,output)绘制垂直/水平线的方法是x+0.5,y+0.5(引用Canvaslinebehaviourwhen0)。要在全局范围内执行此操作,ctx.translate(0.5,0.5);是个好主意。但是,当涉及到对Angular线时,这种方法就不起作用了。它总是给出一条2像素的线。有没有办法阻止这种浏览器行为?如果没有,是否有可以解决此问题的软件包? 最佳答案 您提到的“更宽”的线是由浏览器自动完成的抗

javascript - React.js 中已弃用的 setProps() 的替代方案是什么?

我刚刚将项目的React版本升级到13.3,setProps()不再有效。我在这个Mocha测试中使用它,但我不确定现在如何重写它。我有哪些选择?it('reloadssearchresultswhenpropschange',function(){varloadResultsSpy=sinon.spy(searchView,'loadSearchResults');varnewProps={searchBy:'foo',searchTerm:'bar'};searchView.setProps(newProps);expect(loadResultsSpy.calledWith(ne

javascript - XHR 流媒体通过设计关闭连接?

我正在阅读这篇文章:http://blog.pusher.com/what-came-before-websockets/,下面的文字引起了我的注意:XHRStreamingworkedinallbrowserstheresponseTextoftheXMLHttpRequestobjectwouldcontinuetogrowuntiltheconnectionwasclosedmeaningareconnectionhadtoeventuallybeforcedtoclearthisbuffer.如果我理解正确,这是否意味着只要缓冲区达到一定大小(顺便说一句,这里的实际大小是多少?

javascript - 除了执行 Object.prototype.hasOwnProperty.call(obj, key) 是否有 ES6+ 替代方案?

检查对象是否具有特定键的最可靠方法是:Object.prototype.hasOwnProperty.call(obj,key)这提供了一定的保证:如果key是obj的direct属性,它只会评估为true,即使obj没有通常的Object作为其原型(prototype)(例如,如果它是用constobj=Object.create创建的)(null)).但这是一口。在ES6或更高版本中是否有任何新的语法/方法(包括polyfillable或Babel可编译的“建议”)提供相同的保证,但以更好、更易读的方式? 最佳答案 我不知道这有

javascript - 避免在 JavaScript 中使用魔数(Magic Number) - 与 JsHint 一起使用的替代方案

JSHint的检查现在内置到PhpStorm中,让我了解了JavaScript魔数(MagicNumber),我意识到这将使代码更清晰以避免使用它们。我试过这个:varconstants={millisecs:1000,secs:60};还有这个:varconstants=function(){this.millisecs=1000;this.getMillisecs=function(){returnthis.millisecs;};};JsHint提示两者。从thisanswer中获取解决方案虽然工作正常:varconstants=(function(){varmillisecs=

javascript - Angular Material 设计中 sidenav 的调整栏大小。

AngularMaterial中是否有调整sidenav大小的指令?有一个sidenav显示客户端列表,右侧Pane包含客户端的详细信息。我正在尝试在它们之间添加一个调整大小栏。我用了下面的http://plnkr.co/edit/Zi2f0EPxmtEUmdoFR63B?p=preview这是我在下面找到的AngularJSresizabledivdirective我尝试按照上面的plunker示例进行操作,但sidenav从未调整过大小。右Pane向右移动,但左Pane保持不变。{{client.name}}谢谢 最佳答案 找到

javascript - 使用加密的 Node.js 密码哈希 bcrypt 替代方案

我实际上是在使用bcrypt模块来散列和比较散列密码。我想做的是删除bcrypt模块并使用默认的crypto库来哈希和比较密码。这可能吗?这会比使用node-bcrypt安全吗?你有关于如何做的任何示例/教程/文档/链接吗?或者我实际上这样做的例子:bcrypt.hash(string,secret_key)bcrypt.compare(string,string,secret_key);如果可能的话,我只想用加密复制它:crypto.hash(string,secret_key)crypto.compare(string,string,secret_key);

javascript - 谷歌地图自动完成 Material 设计

我有一个关于在Material设计中实现谷歌地图自动完成功能的问题:{{item.display}}AngularMaterialautocomplete|GoogleMapsautocomplete如何在谷歌地图自动完成(Angular)中使用MaterialDesign的自动完成功能?提前致谢。我找到了这个解决方案:我只覆盖了css属性:/*mapsautocomplete*/.pac-item{font-family:RobotoDraft,Roboto,'HelveticaNeue',sans-serif!important;font-weight:300!important;