Tag: JavaScript

为什么内联源地图?

今天,我了解到,可以将源地图直接包含在缩小的JavaScript文件中,而不是将其放在单独的example.min.map文件中。 我想知道: 为什么有人想要这样做 ? 具有源映射的好处对我来说是很清楚的 :例如,可以在运行缩小的文件时用原始的,非压缩的源文件debugging错误。 最小化的好处也很明显 :源文件的大小大大减小,浏览器下载速度更快。 那么为什么在地球上,我想将源地图包含在缩小的文件中,因为地图的尺寸​​甚至比缩小的代码本身更大 ?

一个JS文件的多个页面

我通常把所有的JavaScript脚本放到一个文件中,例如scripts.js (HTTP请求越less越好)。 所以,正如所料,一些页面需要一些脚本,有些则不是。 要定位一个特定的页面,我使用类似于: if ($("body#share").length > 0) { // Place the logic pertaining to the page with ID 'share' here… } // The file / script continues… 其他或更好的build议? 谢谢! 澄清:我没有find合并多个JS文件到一个大文件和保留多个单独的JS文件之间的利弊。 答案肯定是“取决于情况”(我们知道)。 我的问题是,假设我所有的JS逻辑都放在一个大文件中,那么只有当相应的页面被加载时,我如何才能使一个特定的(块)脚本运行? 我曾经使用的一种方法是使用if ($('#id-of-target-element')) { /* run the script */} ; 有没有更好的办法?

在javascript数组映射方法中的break语句

可能重复: 如何短路Array.forEach像调用break? 有没有办法让我可以在满足条件后突破数组映射方法? 我尝试了以下抛出"Illegal Break Statement" Error. 这是我想出的一个随机的例子。 var myArray = [22,34,5,67,99,0]; var hasValueLessThanTen = false; myArray.map(function (value){ if(value<10){ hasValueLessThanTen = true; break; } } ); 我们可以使用for循环,但我想知道我们是否可以完成相同的使用map方法?

如何使用JavaScript而不是提交button发布ASP.NET MVC Ajax表单

我有一个使用Ajax.BeginForm创build的简单表单: <% using (Ajax.BeginForm("Update", "Description", new { id = Model.Id }, new AjaxOptions { UpdateTargetId = "DescriptionDiv", HttpMethod = "post" },new {id ='AjaxForm' })) {%> Description: <%= Html.TextBox("Description", Model.Description) %><br /> <input type="submit" value="save" /> <% }%> 控制器已连线并返回更新DescriptionDiv的部分视图。 这一切工作整齐。 现在我希望能够提交这个表单,而不必提交提交button(通过链接或图像上的clik或其他)。 不幸的是,这个小小的jQuery代码片段并没有完成这项工作: $('form#AjaxForm').submit(); 它确实提交了表单,但是(我想不出意外)常规的post-back而不是Ajax的。 为了简单起见,上面的jQuery是这样连接起来的: <a href="#" onclick="$('form#AjaxForm').submit(); return false;">submit</a> 表单的onsubmit使用Sys.Mvc.AsyncForm.handleSubmit(),但jQuery提交似乎绕过了这一点。 PS。 我正在寻找这种特定方法的解决scheme。 我知道如何使用正常的forms来实现,并使用AJAX + jQuery发布。 […]

是否只有jQuery的Ajax部分?

是否只有jQuery的Ajax部分? 问题是我不需要整个库,但只需要它的Ajax部分(我需要将这部分包含在几个iframe中)。

在ECMAScript5中,“严格使用”的范围是什么?

ECMAScript5中严格模式编译指示的范围是什么? "use strict"; 我想这样做(主要是因为JSLint没有抱怨): "use strict"; (function () { // my stuff here… }()); 但我不确定是否会破坏其他代码。 我知道,我可以做到这一点,这将编译范围的function… (function () { "use strict"; // my stuff here… }()); 但JSLint抱怨(当“strict”JSLint选项被启用时),因为它认为你在启用“use strict”之前执行的代码。 这是我的问题。 如果我有fileA.js: "use strict"; // do some stuff 和fileB.js: eval( somecodesnippet ); // disallowed by "use strict" 然后按照相同的顺序将它们包含在我的html页面中,这个编译指示是否会被限制到文件中,或者这个编译指示是否会stream入到fileB中,从而阻止了eval的执行?

如何使用Javascript列出当前页面的所有Cookie?

有什么办法,在Javascript的帮助下,列出所有与当前页面相关的cookies? 也就是说,如果我不知道cookie的名字,但是想要检索它们包含的所有信息。

Uint8Array和Uint8ClampedArray之间的区别

Uint8Array和Uint8ClampedArray在JavaScript中有什么区别? 我明白, Uint8ClampedArray是用于canvas进行像素操作。 为什么是这样,有什么好处?

服务人员的存储限制是多less?

大多数浏览器为localStorage提供每个域5MB的存储限制。 服务人员是否有这样的记忆限制/限制? 我知道networking工作者(服务工作者所在的networking工作者)没有这种限制。 但Web Workers并不完全用于资产caching,而是更多地用于处理(因此CPU是主要关心的问题)。 如果内存大小没有限制,devise错误的网站会不会导致浏览器崩溃?

cancelBubble和stopPropagation有什么区别?

任何人都可以告诉我在JavaScript中使用cancelBubble和stopPropagation方法的区别。