Tag: JavaScript

为什么引入新的JSLint错误“使用空格,而不是制表符”和“不安全的字符”?

我已经使用JSLintvalidation我的JavaScript大约2年了,偶尔会有规则发生变化。 一般来说,当JSLint引入一个新的规则时,有一个checkbox可以在parsing时忽略这个规则,或者如果你select不忽略它,那么使你的代码符合它。 正如我今天正在运行我的JSLintvalidation,但是,我碰到这两个新的错误: 使用空格,而不是标签。 这不是“混合标签和空格”错误。 我只使用标签。 这是最近修改版本的“标签和空格的混合”,现在一般不允许标签。 和: 不安全的字符。 * / 不安全的字符。 _const:{ 没有新的select可以忽略。 我不明白什么是不安全的closures块注释,为什么它认为_const:{因为不安全,当我有nomen: true ,(dangling _在标识符)或为什么我应该突然从空间切换到标签,当我仍然有关于4个空格的缩进的configuration是一个选项卡。 有没有人有一个想法,为什么这些被引入到至less如何使JSLint忽略这些新的规则? 更新: Messy White Space选项解决问题,但它会导致其他意外的行为: if (condition) { // ^– there is a space but it won't indicate an error

你如何从JavaScript获得contextPath,正确的方法?

使用基于Java的后端(即servlet和JSP),如果我需要JavaScript的contextPath,那么为什么要这样做? 我可以想到一些可能性。 我错过了吗? 1.将一个SCRIPT标签烧写到设置在某个JavaScriptvariables中的页面中 <script>var ctx = "<%=request.getContextPath()%>"</script> 这是正确的,但在加载页面时需要执行脚本。 2.在一些隐藏的DOM元素中设置contextPath <span id="ctx" style="display:none;"><%=request.getContextPath()%></span> 这是准确的,并且在加载页面时不需要任何脚本执行。 但是当你需要访问contextPath的时候你需要一个DOM查询。 DOM查询的结果可以caching,如果你关心性能。 3.尝试通过检查document.URL或BASE标签来解决JavaScript问题 function() { var base = document.getElementsByTagName('base')[0]; if (base && base.href && (base.href.length > 0)) { base = base.href; } else { base = document.URL; } return base.substr(0, base.indexOf("/", base.indexOf("/", base.indexOf("//") + 2) + 1)); }; 加载页面时不需要执行任何脚本,并且如果需要,还可以caching结果。 但是,只有当你知道你的上下文path是一个单一的目录时,这个方法才有效,而不是根目录( / […]

Redux&RxJS,有什么相似之处?

我知道Redux是Flux的一个更好的“实现”,或者更好地说它是重新devise来简化事物(应用程序状态pipe理)。 我听过很多关于响应式编程(RxJS)的知识,但是我还没有深入了解它。 所以我的问题是:在这两种技术之间是否有任何交集(共同点),或者它们是互补的? …或完全不同?

Rails 3和Rich文本编辑器

我正在构build一个包含博客,评论和其他function的Rails 3应用程序,这些function需要用户input文本。 我的问题是,是否使用Javascript富文本编辑器是一个更好的主意。 什么是利弊。 如果是推荐的方法: 哪个编辑最好? 我如何在我的Rails表单中使用它们? 提前致谢, 史蒂夫

如何在JavaScript中实现一个锁

如何在JavaScript中实现等同于C#的lock ? 所以,解释一下我在想一个简单的用例是: 用户点击buttonB B提出了一个onclick事件。 如果B处于event-state则事件在传播之前等待B处于ready-state 。 如果B处于ready-state ,则B被locking并被设置为event-state ,然后事件传播。 当事件的传播完成时, B被设置为ready-state 。 我可以看到如何接近这个可以完成,只需要添加和删除buttonready-state 。 但是,问题在于用户可以在一行中点击一个button的次数比可以设置的variables快两倍,所以在某些情况下,locking的尝试将失败。 有谁知道如何实现一个不会在JavaScript中失败的锁?

如何在JavaScript中访问对象的原型?

在所有的文章中都写到,JavaScript是一种基于原型的语言,这意味着每个对象都有一个原型(或者更准确地说是原型链)。 到目前为止,我已经尝试了下面的代码片段: var F = function(); F.prototype.member1 = 1; var object1 = new F(); console.log(object1.member1); // prints 1 我如何访问object1的原型对象? 有没有一个浏览器中立的方式来做到这一点(我的意思是,不依靠__proto__属性?看到这个链接,但也许有自2010年以来有新的发展)如果我不能,请你分享背后的理由吗?

无法在“窗口”上执行“btoa”:要编码的string包含Latin1范围之外的字符。

根据我的testing,标题中的错误仅在Google Chrome中引发。 我是base64编码一个大的XML文件,以便它可以下载: this.loader.src = "data:application/x-forcedownload;base64,"+ btoa("<?xml version=\"1.0\" encoding=\"utf-8\"?>" +"<"+this.gamesave.tagName+">" +this.xml.firstChild.innerHTML +"</"+this.gamesave.tagName+">"); this.loader是隐藏的iframe。 这个错误实际上是一个很大的改变,因为通常谷歌浏览器会在btoa调用中崩溃。 Mozilla Firefox在这里没有问题,所以问题是与浏览器有关。 我不知道文件中有任何奇怪的字符。 其实我相信没有非ascii字符。 问:如何查找有问题的字符并将其replace,以便Chrome停止投诉? 我试图使用Downloadify来启动下载,但它不起作用。 这是不可靠的,抛出错误,允许debugging。

javascript:检测滚动结束

我有一个overflow设置为scroll的div层。 当滚动到底部的div ,我想运行一个函数。

Facebook如何检查用户是否喜欢页面并显示内容?

我正在尝试创build一个Facebook的iFrame应用程序。 该应用程序应该首先显示一个图像,如果用户喜欢该页面,他将访问一些内容。 我使用RoR,因此我无法使用Facebook PhP SDK。 这是我的iFrame的HTML,当用户不喜欢的页面: <!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" xml:lang="en"> <head> <link rel="stylesheet" type="text/css" href="style.css" /> <style type="text/css"> body { width:520px; margin:0; padding:0; border:0; font-family: verdana; background:url(repeat.png) repeat; margin-bottom:10px; } p, h1 {width:450px; margin-left:50px; color:#FFF;} p {font-size:11px;} </style> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <div id="container"> <img […]

在Angular中,如何将JSON对象/数组传递给指令?

目前,我的应用程序有一个控制器,接受一个JSON文件,然后使用“ng-repeat”遍历它们。 这一切都很好,但我也有一个指令,需要迭代通过相同的JSON文件。 这是一个问题,因为我不能在一个页面上请求两次相同的JSON文件(我也不想,因为它效率低下)。 如果我更改其中一个JSON文件的文件名,指令和控制器都会请求并遍历JSON数据。 我想知道的是:什么是最好的方式去传递从我的控制器的JSON请求形成的数组到指令? 如何将数组传递给我的指令,并通过我的控制器访问它时迭代? 调节器 appControllers.controller('dummyCtrl', function ($scope, $http) { $http.get('locations/locations.json').success(function(data) { $scope.locations = data; }); }); HTML <ul class="list"> <li ng-repeat="location in locations"> <a href="#">{{location.id}}. {{location.name}}</a> </li> </ul> <map></map> //executes a js library 指令(当我使用除了locations.json以外的文件名,因为我已经请求过一次 .directive('map', function($http) { return { restrict: 'E', replace: true, template: '<div></div>', link: function(scope, element, attrs) { $http.get('locations/locations.json').success(function(data) { […]