Questions tagged «javascript»

有关在ECMAScript(JavaScript / JS)及其各种方言/实现(不包括ActionScript)中进行编程的问题。此标记很少单独使用,但最常与标记[node.js],[jquery],[json]和[html]关联。

1
如何监视子文件夹中的文件?
我的代码文件夹和文件是这样的,您永远都不知道其中有多少个子文件夹: js/sub1/a.js js/sub2/b.js js/sub3/sub31/c.js js/sub4/sub41/sub411/d.js 这是Gruntfile.js的一部分: grunt.initConfig({ watch: { src: { files: ['js/*.js'], tasks: [] } } }); Grunt无法使用监视我所有JavaScript文件的更改'js/*.js'。那么如何编写正确的文件路径表达式呢?

2
RequireJS:如何定义包含单个“类”的模块?
我有许多JavaScript“类”,每个类都在其自己的JavaScript文件中实现。为了进行开发,这些文件是分别加载的,对于生产来说,它们是连接在一起的,但是在两种情况下,我都必须手动定义加载顺序,如果B使用A,请确保B紧随A之后。我计划使用RequireJS作为实现CommonJS Modules / AsynchronousDefinition为我自动解决此问题。 有没有比定义每个导出一个类的模块更好的方法呢?如果不是,您如何命名模块导出的内容?如下例所示,模块“ employee”导出类“ Employee”,对我来说还不够干。 define("employee", ["exports"], function(exports) { exports.Employee = function(first, last) { this.first = first; this.last = last; }; }); define("main", ["employee"], function (employee) { var john = new employee.Employee("John", "Smith"); });


20
如何通过JavaScript中的用户输入将时间解析为Date对象?
我正在使用一个表单小部件,供用户在文本输入中输入一天的时间(对于日历应用程序)。我想使用JavaScript(我们使用的是jQuery FWIW)来解析用户输入到JavaScriptDate()对象中的文本的最佳方法,以便我可以轻松地执行比较和其他操作。 我尝试了该parse()方法,但对于我的需求来说有点挑剔。我希望它能够成功地将以下示例输入时间(除了其他逻辑上相似的时间格式)解析为同一Date()对象: 1:00 PM 1:00 PM 下午1:00 1:00 PM 1:00 PM。 1:00p 下午1点 下午1点 1个 下午1点 下午1点 1p 13:00 13 我认为我可能会使用正则表达式来拆分输入并提取要用于创建Date()对象的信息。做这个的最好方式是什么?

6
我是否已达到浏览器中JavaScript可以处理的对象大小的限制?
我<script>在HTML的标签中嵌入了一个大型数组,就像这样(不足为奇): <script> var largeArray = [/* lots of stuff in here */]; </script> 在此特定示例中,数组具有210,000个元素。这远远低于2的理论最大值31 -由4个数量级。这是有趣的部分:如果我将数组的JS源代码保存到文件中,则该文件> 44兆字节(准确地说是46573399字节)。 如果您想亲自看看,可以从GitHub下载。(其中的所有数据都是固定的,因此会重复很多。在生产环境中不会如此。) 现在,我真的不担心要提供那么多数据。我的服务器通过gzip压缩其响应,因此实际上并不需要花很长时间就能通过网络获取数据。但是,页面一旦加载,就会导致浏览器崩溃。我根本没有在IE中测试(这是一个内部工具)。我的主要目标是Chrome 8和Firefox 3.6。 在Firefox中,我可以在控制台中看到一个相当有用的错误: Error: script stack space quota is exhausted 在Chrome中,我只是获得了悲伤标签页: 切入正题 对于我们现代的“高性能”浏览器来说,这真的是太多数据了吗? 我可以做些什么来优雅地处理大量数据? 顺便说一句,我能够在Chrome中断断续续地使用它(阅读:不会使选项卡崩溃)。我真的以为Chrome至少是由更坚固的材料制成的,但显然我错了…… 编辑1 @Crayon:我并不想证明为什么我想一次将大量数据转储到浏览器中。简短的版本:要么我解决了这个(绝对不那么容易)的问题,要么我不得不解决一系列其他问题。我现在选择较简单的方法。 @various:现在,我不是特别在寻找减少数组中元素数量的方法。我知道我可以实现Ajax分页或具有什么功能,但这在其他方面为我带来了自己的一系列问题。 @Phrogz:每个元素看起来像这样: {dateTime:new Date(1296176400000), terminalId:'terminal999', 'General___BuildVersion':'10.05a_V110119_Beta', 'SSM___ExtId':26680, 'MD_CDMA_NETLOADER_NO_BCAST___Valid':'false', 'MD_CDMA_NETLOADER_NO_BCAST___PngAttempt':0} @Will:但是我有一台带有4核处理器,6 GB RAM,超过一半TB磁盘空间的计算机...我什至不要求浏览器快速执行此操作-我只是在问为它工作!☹ 编辑2 任务完成! 有了Juan和Guffa的即时建议,我得以使它起作用!看来问题出在解析源代码,而不是在内存中实际使用它。 …

5
是否可以将JavaScript放在部分视图中
我正在使用Web应用程序,其中主页包含两个部分:始终可见的常量块和由3个局部视图之一组成的信息块。每个部分视图都是AJAX请求的结果,并且仅被加载一次(由jquery提供切换窗口之后)。它运作良好,但我遇到了一个问题。 部分视图的html代码包含在常量块和信息块中使用的js函数。加载页面后,这些函数可以互相“看到”并且可以工作,但是resharper找不到函数声明并就此警告我。由于无法在其代码中找到剃刀语法,因此无法通过将它们传输到外部js文件来解决问题。 我该怎么办? 谢谢。 更新: 最后,我决定解决将我的js代码与视图分离的问题。因此,新的问题是如何将razor语法包含在js文件中,或者可以接受的替代方法是什么。我发现的流行解决方案是使用全局变量,数据属性以及我更喜欢的解决方案-John Katsiotis的RazorJS库。 http://djsolid.net/blog/razorjs---write-razor-inside-your-javascript-files 我希望它能稳定工作并使Resharper开心。 干杯! 更新: 3年后,我想起了这个问题,并决定根据我的经验对其进行更新。实际上,我现在不建议为此使用其他库。尤其是如果您不是项目团队中的唯一成员…最好在所有库中确保它们得到创建者和社区的支持,并且可以轻松集成到您的IDE中(例如,使用特殊语法) 。此外,您团队中的所有人员都应该知道它是如何工作的。所以现在我建议做以下事情: 将所有JS放在单独的文件中。尽可能地隔离它。为此提供外部API。 从您的视图中调用API函数。 将所有Razor生成的URL,文本消息,常量作为资源参数传递。 例如: js文件: $.api.someInitFunction = function(resources){ ... } 视图: <script> $.api.someInitFunction({ urls: { myAction: '@Url.Action("MyAction", "MyController")' }, messages: { error: '@errorMessage' }, consts: { myConst: @myIntConst } }); </script>



12
集成Python和JavaScript的最佳方法?
是否可以集成Python和JavaScript?例如,假设您希望能够在JavaScript中定义类并从Python使用它们(反之亦然)。如果是这样,最好的方法是什么?我不仅对这是否可行还感兴趣,而且是否有人在“严肃的”项目或产品中做到了。 我想举个例子,可以使用Jython和Rhino,但我很好奇是否有人真正做到了这一点,以及是否有针对其他平台的解决方案(尤其是CPython)。

3
使用Underscore sortBy进行对象排序的数组
我有这个数组。如何使用下划线'_.sortBy'根据开始日期对其进行排序? [ { id: 'oljw832021kjnb389xzll323jk', start: { dateTime: '2013-09-26T13:30:00-07:00' }, end: { dateTime: '2013-09-26T14:30:00-07:00' }, }, { id: 'ed7l5tmckdp0lm90nvr4is3d4c', start: { dateTime: '2013-09-26T15:30:00-07:00' }, end: { dateTime: '2013-09-26T16:30:00-07:00' }, }, { id: 'etmasdsackdp0kjl0nvrkopioqw', start: { dateTime: '2013-09-26T18:00:00-07:00' }, end: { dateTime: '2013-09-26T19:00:00-07:00' }, } ]

5
Twitter Bootstrap按钮单击以切换按钮上方的展开/折叠文本部分
我最近遇到了引导程序,并且正在研究扩展英雄示例。我想在页面上添加以下行为: 当单击按钮(即带有选择器'.row .btn'的元素)时,我希望能够在扩展/折叠按钮上方的文本部分之间进行切换。 HTML如下所示: <html> <head> <title>Test Page</title> <!-- Le styles --> <link href="../assets/css/bootstrap.css" rel="stylesheet"> <style type="text/css"> body { padding-top: 60px; padding-bottom: 40px; } </style> <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet"> </head> <body> <div class="navbar navbar-fixed-top"> </div> <div class="container"> <div class="hero-unit"> <h1>Hello, world!</h1> <p>Blah, blah.</p> <p><a class="btn btn-primary btn-large">Learn more »</a></p> </div> <!-- …

8
angularjs输出纯文本而不是html
我有一些这样的文字: <span>My text</span> 我想显示不带标签的内容: My text 我也不想应用标签,我想剥离它们。有什么简单的方法可以做到这一点? 角HTML: <div>{{myText | htmlToPlaintext}}</div>

3
Bootstrap单选按钮切换问题
我正在尝试以twitter引导方式(http://twitter.github.com/bootstrap/javascript.html#buttons)的形式在单选按钮中打开一些常规按钮。 我遵循了说明,但是当我按下按钮时,控制台中出现以下错误: 未捕获的错误:无法在初始化之前调用按钮上的方法;尝试调用方法“ toggle”。 你知道是什么原因造成的吗?这些按钮已加载到页面中,仅在AJAX显示相应内容时才可见。 谢谢!

8
从highcharts图表中删除所有系列数据的正确方法?
更新:这是一个显示问题的jsfiddle:http : //jsfiddle.net/pynju/1/ 单击星期一的蓝色列。加载详细视图时,请注意01-07具有3列(预期为2)。单击最高的栏以返回原始视图。请注意,xAxis上的标签没有被删除。 =============== 我有一个具有2个系列的条形图,并排显示为成对的条形图。 series: [{ showInLegend: false, data: dowChartData },{ showInLegend: false, data: avgUserDowChartData }], 。 dowChartData = [ { y: 98.74, color: '#0072ff', drilldown: { name: 'Category Engagement - Sunday', categories: ['00','01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23'], data: [0,637,0,0,0,173,48.54,48.54,0,0,0,0,0,0,102.24,166.36,706.59,699.18,298.32,184.14,97.08,1539,0,1224.56], color: '#0072ff', data2: [506.80686467275,354.56354558498,333.25158689567,234.19283190879,234.82132336088,220.03247578171,222.86420797556,218.14034615202,170.42559544164,171.54776353196,249.24788461442,345.14915669555,206.65543589797,243.38811965637,367.02593304906,378.83677778129,467.45739743621,424.26264387522,639.60922934374,679.71299714907,373.26353846375,480.94380626458,551.82326068362,466.77469230724], color2: '#C00' } } AND SIMILAR 。 avgUserDowChartData …

7
如何在AJAX驱动页面上添加Facebook“赞”按钮
我已经拖网和堆栈溢出,但找不到这个问题的适当答案。在开始尝试寻找自己的解决方案的尝试和错误过程之前,我认为我应该转向Stack Overflow机构,以查看是否已经成功实现。 我有一个AJAX驱动的页面,对于非JavaScript浏览器和SEO,该页面可以正常降级。AJAX版本中的每次点击都可以由唯一的URL表示。 我想做的是动态更改按钮的HREF。我确实知道该标记会在运行时转换为标准HTML(即转换为讨厌的表格/ iframe布局)。 我只是想知道是否有人对如何在AJAX驱动的页面上实现类似FB的按钮有任何见解? 提前加油:) 编辑: 您如何看待我刚刚一起尝试过的这种方法?看到有什么大问题吗? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script src="JS/jquery/jquery.js" type="text/javascript"></script> <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script> <script language="javascript" type="text/javascript"> $("document").ready ( function () { CreateNewLikeButton("http://www.yahoo.com") $("a#ChangeToGoogle").click ( function (e) { e.preventDefault(); CreateNewLikeButton("http://www.google.ca") } ); } ); function CreateNewLikeButton(url) { …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.