Questions tagged «javascript»

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


9
下载数据URL文件
我正在考虑制作一个完全基于JavaScript的zip / unzip实用程序,任何人都可以从浏览器访问该实用程序。他们只需将其zip直接拖到浏览器中,就可以下载其中的所有文件。他们还可以通过拖动单个文件来创建新的zip文件。 我知道最好在服务器端执行此操作,但是该项目只是为了使您开心一点。 如果我利用各种可用的方法,将文件拖放到浏览器中应该足够容易。(Gmail样式) 希望编码/解码应该可以。我已经看过一些as3 zip库,所以我确定我会满意的。 我的问题是最后下载文件。 window.location = 'data:jpg/image;base64,/9j/4AAQSkZJR....' 这在Firefox中效果很好,但在chrome中效果不佳。 我可以使用chrome在chrome中将文件嵌入为图像<img src="data:jpg/image;ba.." />,但文件不一定是图像。它们可以是任何格式。 谁能想到其他解决方案或某种解决方法?

5
缩放<canvas>时禁用插值
注意:这与放大时现有画布元素的呈现方式有关,而与线条或图形在画布表面上的呈现方式无关。换句话说,这与缩放元素的插值有关,而与在画布上绘制的图形的抗锯齿无关。我不关心浏览器如何画线;我关心的是浏览器在放大时如何渲染canvas元素本身。 是否可以通过编程更改画布属性或浏览器设置以在缩放&lt;canvas&gt;元素时禁用插值?跨浏览器的解决方案是理想的,但不是必需的。基于Webkit的浏览器是我的主要目标。性能非常重要。 这个问题最相似,但不能充分说明问题。对于它的价值,我尝试image-rendering: -webkit-optimize-contrast无济于事。 该应用程序将是用HTML5 + JS编写的“复古” 8位样式游戏,以明确我的需求。 为了说明,这是一个示例。(现场版) 假设我有一张21x21的画布... &lt;canvas id='b' width='21' height='21'&gt;&lt;/canvas&gt; ...具有CSS的元素使元素大5倍(105x105): canvas { border: 5px solid #ddd; } canvas#b { width: 105px; height: 105px; } /* 5 * 21 = 105 */ 我在画布上绘制一个简单的“ X”,如下所示: $('canvas').each(function () { var ctx = this.getContext("2d"); ctx.moveTo(0,0); ctx.lineTo(21,21); ctx.moveTo(0,21); ctx.lineTo(21,0); ctx.stroke(); …
126 javascript  html  canvas 

8
ReactJS SyntheticEvent stopPropagation()仅适用于React事件吗?
我试图在ReactJS组件中使用event.stopPropagation()来阻止单击事件冒泡并触发遗留代码中与JQuery关联的click事件,但是似乎React的stopPropagation()只能停止传播到事件也附加在React中,并且JQuery的stopPropagation()不会停止传播到随React附加的事件。 有什么办法可以使stopPropagation()在这些事件中起作用?我编写了一个简单的JSFiddle来演示这些行为: /** @jsx React.DOM */ var Propagation = React.createClass({ alert: function(){ alert('React Alert'); }, stopPropagation: function(e){ e.stopPropagation(); }, render: function(){ return ( &lt;div&gt; &lt;div onClick={this.alert}&gt; &lt;a href="#" onClick={this.stopPropagation}&gt;React Stop Propagation on React Event&lt;/a&gt; &lt;/div&gt; &lt;div className="alert"&gt; &lt;a href="#" onClick={this.stopPropagation}&gt;React Stop Propagation on JQuery Event&lt;/a&gt; &lt;/div&gt; &lt;div onClick={this.alert}&gt; &lt;a href="#" …

8
如何将普通对象转换为ES6地图?
由于某种原因,我无法在MDN文档中找到这个简单的东西(也许我只是想念它)。 我希望这可以工作: const map = new Map({foo: 'bar'}); map.get('foo'); // 'bar' ...但是第一行抛出 TypeError: (var)[Symbol.iterator] is not a function 如何从普通对象制作地图?我真的必须首先将其转换为键值对数组的数组吗?

4
检测何时使用JavaScript调整窗口大小?
当用户结束调整浏览器窗口大小时,jQuery或JavaScript有什么办法触发函数? 换句话说: 用户调整浏览器窗口大小时是否可以检测到鼠标向上移动事件?除此以外: 我可以检测到窗口调整大小操作何时完成吗? 我目前只能在用户开始使用jQuery调整窗口大小时触发事件
125 javascript  jquery 

5
推荐的用于JavaScript编码的Vim插件?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我是JS&Vim的新手。哪些插件可以帮助我编写Javascript代码?
125 javascript  vim 

12
从JavaScript设置CSS伪类规则
我正在寻找一种更改JavaScript中伪类选择器(例如:link,:hover等)的CSS规则的方法。 因此类似于CSS代码:a:hover { color: red }在JS中。 我在其他任何地方都找不到答案。如果有人知道这是浏览器不支持的功能,那也将是一个有益的结果。

4
允许Google Chrome浏览器使用XMLHttpRequest从本地文件加载URL
当尝试使用XMLHttpRequest从本地文件执行HTTP请求时,由于Access-Control-Allow-Origin违反,它基本上会失败。 但是,我本人正在使用本地网页,因此我想知道是否有任何方法可以使Google Chrome允许这些请求,这些请求是从本地文件到Internet上的URL。 例如,$.get('http://www.google.com/')在本地文件中执行时失败,但是我自己编写了脚本页面,并且自己在使用它,因此,如果我可以禁止显示该页面并加载URL,它将非常有用。 因此,如何允许Google Chrome浏览器使用XMLHttpRequest从本地文件加载URL?

16
jQuery UI“ $(”#datepicker“)。datepicker不是函数”
当我在现有的.aspx页面中使用jQuery的UI插件DatePicker时,出现以下错误: $("#datepicker").datepicker is not a function 但是,当我将创建和使用datePicker的相同代码复制并粘贴到与aspx页面位于同一目录的HTML文件中时,它可以正常工作。这使我假设aspx页面中有一些JS文件阻止了datePicker或jQuery的UI JS文件正确加载。 谁能确认我的信念或提供任何提示来找到干扰jQuery UI插件的罪魁祸首?

4
跨多个tr的Angular.js ng-repeat
我将Angular.js用于通过隐藏trs通过显示tr并在下面的td中将div向下滑动来模拟滑出效果的应用程序。当遍历这些行的数组时,此过程可以使用kickout.js出色地工作,因为我可以&lt;!-- ko:foreach --&gt;在两个tr元素之间使用。 使用angular时,ng-repeat必须将其应用于html元素,这意味着我似乎无法使用标准方法来重复这些双行。我对此的第一个响应是创建一个表示这些double tr的指令,但是由于指令模板必须具有一个根元素,而我却有两个(&lt;tr&gt;&lt;/tr&gt;&lt;tr&gt;&lt;/tr&gt;),所以未能达到要求。 如果任何具有ng-repeat和angular经验的人都可以解决这个问题,那么我将不胜感激。 (我还应该注意,附加ng-repeat到tbody是一个选项,但这会产生多个tbody,并且我认为这对于标准HTML来说是不好的形式,尽管如果我错了也可以纠正我)

3
JSHint的“ +”错误之前的坏行中断的解释
有人可以向我解释为什么JSHint抱怨以下内容, window.location.href = String1 + '#' + Sting2 + '=' + String3; 出现错误 Bad line breaking before '+' error 我了解可以使用laxbreak 选项配置此错误,该选项描述为 此选项禁止显示有关代码中可能存在不安全换行的大多数警告。它不会抑制有关逗号优先编码风格的警告。要抑制这些,您必须使用Laxcomma(请参见下文)。 这种解释非常简洁,我很好奇为什么首先将这种方式的断行视为坏事或松懈。 请记住,我不是要在这里发动一场圣战,我只是想寻找一个客观的答案,为什么JSHint的人们认为这很糟糕,是否只是他们向他们的短毛猫注入了一种风格偏好(我认为JSLint是固执己见的linter),或者以这种方式换行时某些口译员是否会出问题。
125 javascript  jshint 

8
在客户端使用JavaScript访问JPEG EXIF旋转数据
我想根据相机在JPEG EXIF图像数据中设置的原始旋转角度旋转照片。诀窍是所有这些操作都应该在浏览器中使用JavaScript和进行&lt;canvas&gt;。 JavaScript如何访问JPEG,本地文件API对象,本地&lt;img&gt;或远程&lt;img&gt;EXIF数据以读取旋转信息? 服务器端的答案不好。我正在寻找一种客户端解决方案。

7
处理承诺链中的多个渔获
我对诺言仍然还很陌生,目前正在使用蓝鸟,但是在我不确定如何最好地处理它的情况下。 因此,举例来说,我在Express应用程序中有一个Promise链,如下所示: repository.Query(getAccountByIdQuery) .catch(function(error){ res.status(404).send({ error: "No account found with this Id" }); }) .then(convertDocumentToModel) .then(verifyOldPassword) .catch(function(error) { res.status(406).send({ OldPassword: error }); }) .then(changePassword) .then(function(){ res.status(200).send(); }) .catch(function(error){ console.log(error); res.status(500).send({ error: "Unable to change password" }); }); 所以我的行为是: 通过ID获取帐户 如果此时存在拒绝,请炸毁并返回错误 如果没有错误,则将文档转换为模型 使用数据库文档验证密码 如果密码不匹配,则炸开并返回其他错误 如果没有错误,请更改密码 然后返回成功 如果还有其他问题,请返回500 因此,当前的捕获量似乎并没有停止链接,这是有道理的,所以我想知道是否存在一种方法可以根据错误以某种方式强制链停止在某个点,或者是否有更好的方法构造这种形式以获得某种形式的分支行为,例如if X do Y …


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.