Tag: JavaScript

decodeURIComponent vs unescape,unescape有什么问题?

在回答另一个问题时,我意识到我的Javascript / DOM知识已经过时了,因为我仍然使用escape / unescape来编码URL组件的内容,而现在我应该使用encodeURIComponent / decodeURIComponent 。 我想知道的是escape / unescape有什么问题? 有一些模糊的build议,说Unicode字符有一些问题,但我找不到任何明确的解释。 我的networking经验是相当有偏见的,几乎所有这一切都写了与Internet Explorer绑定的大型Intranet应用程序。 这已经涉及了很多escape / unescape的使用,涉及的应用程序已经完全支持Unicode多年了。 那么escape / unescape应该有哪些Unicode问题? 有没有人有任何testing案例来展示问题?

你select跨浏览器的JavaScript GUI

更新 – 截至2015年2月更新的综合比较可以在这里find: Ext JS的替代品 2008问题 : 那里有一些很棒的,不是很好的Javascript GUI框架。 我看了一些(只是表面上)。 我无法想出任何一个 滚动到这个问题的结尾,看看别人怎么说 Ext.js许多人都知道,因为它是最着名的框架之一。 优点:看起来很棒 ,大型社区,很多扩展/插件,GPL Disadvanatges:无法使用具有商业许可的第三方扩展(并且其中一些扩展具有杀手function) Backbase相对较less知道。 XML和Javascript的混合让人想起XUL。 但是,这已经是跨浏览器了 优点:看起来很好 ,可扩展性强,可以方便地合并一些非常干净的东西 缺点:价格陡峭且受CPU限制(尽pipe最多可以在2个CPU上使用),论坛响应速度缓慢(尽pipe商业支持据说速度很快) qooxdoo也很受欢迎。 优点: 请填写 缺点:代码凌乱(基于传闻) YUI 填写说明 优点:组织良好的代码缺点: 许多小部件仍处于testing阶段 Dojo 填写描述 优点:增量加载类 缺点:轻微感觉臃肿 jQuery UI 优点:小工具不依赖于对方 缺点:在发展的早期阶段,很less有小部件 更广泛的接受可能的趋势: jQuery与ASP.NET MVC一起交付 什么说你? 你用什么,为什么? 你想用什么,为什么? 在任何types的项目 要更新您的input… 看到这个来自Sergey Ilinsky的优秀评论 ,它很好地解释了你应该select什么样的框架,当你想只是皮条客你的页面,build立一个丰富的前端应用程序(有几个select,不less) 在另一个线程比较有趣的评论比较jQuery的,道场,原型,Mootools, Sproutcore和卡布奇诺 (问题被删除) 。

用window.onerror获取实际的Javascript错误对象

JavaScript有这个伟大的callbackwindow.onerror 。 跟踪任何错误非常方便。 但是,它会调用错误名称,文件名和行。 这当然不像从try…catch语句中获取实际的错误对象那么丰富。 实际的错误对象包含更多的数据,所以我试图去解决这个问题。 不幸的是,当你开始拥有asynchronous代码时, try…catch语句不能正常工作。 有没有办法把两个世界的最好结合起来? 我最初寻找一种方法来获取在onerror块内触发的最后一个错误,但它看起来像JS不存储。 任何线索?

使用gulp将bootstrap.less文件编译到主bootstrap.css中?

我真的很喜欢gulpjs这是我select的任务pipe理器,但是我希望几个月前我就知道任务pipe理器,并且主要是为了支持而进入gruntjs。 对于gulpjs很难find关于具体事物的信息。 我的问题是如何设置我的gulpfile.js以便我可以编辑bootstrap.less文件,特别是variables.less 。 我确实安装了“ gulp-less ”,并像下面那样实现它。 var less = require('gulp-less'), path = require('path'); gulp.task('less', function () { gulp.src('./source/less/variables.less') .pipe(less()) .pipe(gulp.dest('./source/css/bootstrap.css')); }); 运行gulp less后,我得到下面的错误。 events.js:72 throw er; // Unhandled 'error' event ^ Error: EEXIST, mkdir 'C:\wamp\www\myproj\source\css\bootstrap.css' 我不认为我的sass任务代码是安装正确的,我是一口气noobie,但我已经尝试了多种组合,是的,我使用了“ 无 ”“文档的例子,我使用的代码是最简洁清晰削减我想要完成的代码。 编辑:我在谷歌上find一些关于这个好关键字我发现了一些最近的post关于这个,这里是一个开始与Gulp-less维护文件夹结构gulp似乎并不像有一个很好的答案,生病了必须阅读。 额外:我忘记了从文档中使用代码时,我得到一个与alerts.less错误 gulp.task('less', function () { gulp.src('./source/less/*.less') .pipe(less({ paths: [ path.join(__dirname, 'less', 'includes') ] })) .pipe(gulp.dest('./source/css')); […]

href =“javascript:”vs. href =“javascript:void(0)”

我们的networking应用程序完全在浏览器上呈现。 服务器只通过JSON消息传递给浏览器。 因此,我们只需要一个页面的应用程序,大多数<a>标签没有一个真正的href指向其他页面。 在我寻求删除不必要的东西时,我想知道是否可以摆脱我们代码中的void(0)的无数次,因为它们看起来没有用处: <a onclick="fn()">Does not appear as a link, because there's no href</a> <a href="javascript:void(0)" onclick="fn()">fn is called</a> <a href="javascript:" onclick="fn()">fn is called too!</a> 有谁知道如果使用href="javascript:"可以导致一个问题? 它甚至在IE7上工作… 请不要花你宝贵的时间来告诉我内联的JavaScript是不好的,因为这是由模板引擎生成的:)

在React.js 0.12这个.key

随着0.12版本的发布, this.props.key在一个组件中不再可用,不过听起来你可以简单地用this.keyreplace它,一切都应该按预期工作。 从React v0.12文档 : 这意味着你需要重命名:someElement.props.key – > someElement.key 但是当我尝试访问我的组件的render()函数中的this.key ,我得到一个undefined 。 看我的笔来说明这个问题: http : //codepen.io/anon/pen/jaczr?editors=100 也: React组件的实例在渲染时在React内部创build。 这些实例在后续渲染中被重用,并且可以像这样在你的组件方法中被访问。 我该如何访问组件的密钥? UPDATE GitHub上存在这个问题,这个问题很多。 感谢HEAP提到它。

在angularjs ng-change事件中检测checkbox是否被选中

我想检测checkbox是否已经选中或未选中checkbox。 这是我的: <input type="checkbox" ng-model="answers[item.questID]" ng-change="stateChanged()" /> 然后在控制器中我有: $scope.stateChanged = function () { alert('test'); } 我可以在检查/取消选中时发出警报,但是如何检测checkbox的状态? 我做了一些研究,find一个类似的问题,但是我没有得到我所需要的。 谢谢,Laziale

Firefox阅读器如何查看操作

概要 我正在寻找我可以创build一个网页的标准,并[如果用户需要的话] [相当]确保它会出现在Firefox阅读器视图中 。 有些网站有这个选项,有些则没有。 一些文本更多的文本没有这个选项比其他文本less得多。 例如堆栈溢出只显示问题,而不是阅读器视图中的任何答案。 题 我已经将Firefox从38.0.1升级到38.0.5,并且发现了一个名为ReaderView的新function – 这是一种覆盖,可以消除“页面混乱”,使文本更易于阅读。 Readerview在地址栏的右侧作为某些页面上的可点击图标。 这很好,但是从编程angular度来看,我想知道“阅读器视图”是如何工作的,哪个页面适用哪个标准。 我已经做了一些Mozilla Firefox网站的探索,没有明确的答案(我find了任何types的编程答案),我当然谷歌/ Binged这只有回来引用Firefox插件 – 这不是一个插件而是新版Firefox版本的主要部分。 我假定readerview使用HTML5,并提取<article>内容,但事实并非如此,因为它在维基百科上似乎不使用<article>或类似的HTML5标签,而是readview提取某些<div>和单独显示它们。 此function适用于某些HTML5页面,如维基百科,但不适用于其他页面。 如果任何人有任何想法如何Firefox ReaderView实际运作,以及如何可以由网站开发人员使用此操作,你可以分享? 或者如果你能find这个信息的位置,你能指出我的方向 – 因为我一直没有find这个。

在同一端口上运行多个节点(快速)应用程序

我有多个Node应用程序(构build在Express框架上)。 现在我已经把它们放在这里了 – /var/www/app1 /var/www/app2 /var/www/app3 现在我想在同一个端口上运行这3个应用程序(比如8080)。 那可能吗 ? 有一点要注意的是,每个应用程序都有像这样的通用路线 – app.get('/', func…); app.get('/about', func…); app.post('/foo', func…); app.post('/bar', func…); 基本上我想这样做,就像你可以用Apache / PHP的设置。 所以,当你有一个LAMP堆栈 – /var/www/app1 /var/www/app2 /var/www/app3 您可以轻松地将它们作为不同的应用程序从 – localhost/app1 localhost/app2 localhost/app3

什么是window.js相当于window = value?

什么是window["myvar"] = value相当于window["myvar"] = value ?