Tag: JavaScript

检查localStorage是否可用

我知道关于检查localStorage有很多问题,但是如果有人在浏览器中手动closures它,会怎么样呢? 这里是我用来检查的代码: localStorage.setItem('mod', 'mod'); if (localStorage.getItem('mod') != null){ alert ("yes"); localStorage.removeItem('mod'); }else{ alert ("no"); } 简单的function,它的作品。 但是,如果我进入我的Chrome设置,并select“不保存数据”(我不记得到底是什么)的选项,当我尝试运行这个函数,我什么也得不到,但未Uncaught Error: SecurityError: DOM Exception 18 。 那么有没有办法检查这个人是否完全closures了? 更新:这是我尝试的第二个function,我仍然没有回应(警报)。 try { localStorage.setItem("name", "Hello World!"); } catch (e) { if (e == QUOTA_EXCEEDED_ERR) { alert('Quota exceeded!'); } }

将HTMLstring附加到DOM

如何附加这个HTMLstring var str = '<p>Just some <span>text</span> here</p>'; 到DOM中的'test' ,这是在DOM的DIV? (顺便说一句div.innerHTML += str;是不可接受的。)

Javascript等价于PHP的列表()

真的很喜欢那个function。 $matches = array('12', 'watt'); list($value, $unit) = $matches; 有没有一个Javascript的相当于?

在Angular Material中更改md-datepicker的格式

angular度材料引入了一个新的dateselect器组件。 我希望这个组件返回的date格式是yyy-mm-dd,但我不确定这是如何完成的。 通过search,我发现$mdDateLocaleProvider可以使用,但我找不到使用它的例子。 有人可以告诉我一个格式化datemd-datepicker返回的date的工作示例?

Chrome中不再允许使用selectionStart / selectionEndinputtypes=“数字”

我们的应用程序在input字段上使用selectionStart来确定当用户按下箭头键时是否自动将用户移动到下一个/上一个字段(即,当select在文本的末尾,用户按下我们移动到的右箭头下一个领域,否则) Chrome现在可以防止在type =“number”处使用selectionStart。 它现在抛出exception: Failed to read the 'selectionStart' property from 'HTMLInputElement': The input element's type ('number') does not support selection. 见以下内容: https://codereview.chromium.org/100433008/#ps60001 http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#do-not-apply 有没有什么方法可以确定插入符号在“数字”types的input字段中的位置?

在使用XMLHttpRequest加载JSON文件时,Firefox中的“格式不正确”错误

当我的页面上的JavaScript加载一个包含JavaScript对象表示法格式的对象的文本文件时,我在Firefox 3.0.7的错误控制台中收到了一个“格式不正确”的错误。 如果文件只包含JSON对象,则会产生错误。 如果我将这个对象包装在<document> </ document>标记中,它不会产生错误。 请求成功的方式,所以我可以忽略它,但我不希望我的错误日志填满这些消息。 下面是一些示例代码来说明问题。 首先,名为“data.json”的“格式不正确”的文件: { a: 3 } 现在一些代码来加载文件: var req = new XMLHttpRequest(); req.open("GET", "data.json"); req.send(null); 在Firefox错误控制台中会产生以下错误: 不完善 file://path/to/data.json行:1 {a:3} – ^ 如果data.json被修改为: <document>{ a: 3 }</document> 没有错误。 我认为这是抱怨,因为普通的JSON文件不是一个格式良好的XML文档,所以我试图在“发送”调用之前覆盖MIMEtypes,强制它作为纯文本加载,但没有奏效。 var req = new XMLHttpRequest(); req.open("GET", "data.json"); req.overrideMimeType("text/plain"); req.send(null); // Still produces an error! 我将继续将我的JSON数据包装在一个XML文档中,以解决XMLHttpRequest正在执行的任何validation问题,但是我想知道是否有任何方法可以强制它仅仅加载纯文本而不尝试validation它。 或者,除了XMLHttpRequest之外,还有其他的加载数据的方法可以用于纯文本吗?

JQuery的Ajax – 如何检测networking连接错误时,进行Ajax调用

我有一些JavaScript JQuery代码,每5分钟做一个Ajax调用服务器,这是为了保持服务器会话活着,并保持用户login。我在JQuery中使用$.ajax()方法。 这个函数似乎有一个“错误”属性,我试图在用户的互联网连接断开的情况下使用KeepAlive脚本继续运行。 我使用下面的代码: var keepAliveTimeout = 1000 * 10; function keepSessionAlive() { $.ajax( { type: 'GET', url: 'http://www.mywebapp.com/keepAlive', success: function(data) { alert('Success'); setTimeout(function() { keepSessionAlive(); }, keepAliveTimeout); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert('Failure'); setTimeout(function() { keepSessionAlive(); }, keepAliveTimeout); } }); } 当我运行它时,我会在屏幕上每隔10秒在警报框中popup“成功”,这很好。 但是,只要我拔掉网线,我什么也没有,我期待着错误的function被调用,看到一个“失败”提示框,但没有任何反应。 我是否正确地认为“错误”function只适用于从服务器返回的非'200'状态代码? 在进行Ajax调用时,有没有办法检测networking连接问题?

未能在“DOMWindow”上执行“postMessage”:https://www.youtube.com!== http:// localhost:9000

这是我得到的错误消息: Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.youtube.com') does not match the recipient window's origin ('http://localhost:9000'). 我已经看到其他类似的问题,其中目标来源是http://www.youtube.com和收件人来源是https://www.youtube.com ,但没有一个像我的目标是https://www.youtube.com和来源是http://localhost:9000 。 我不明白这个问题。 问题是什么? 我该如何解决?

input参数如何在javascript方法链中填充?

我想要真正了解JavaScript的工作原理。 在方法链接期间,有时一个方法返回到另一个具有命名input参数的方法。 例如,在D3中,模式如下所示: d3.select("body").selectAll("p") .data(dataset) .enter() .append("p") .text(function(d) { return d; }); //what does this d refer to? How is it filled? 在jQuery中,模式看起来像这样: $.ajax({ … }) .done(function( data ) { //what does this data refer to? How is it filled? 我从实际的编码知道,这些input参数的名称可以是任何东西。 但是input参数文件的数据来自哪里呢? 它只是指从链中的先前方法返回的数据?

PHP脚本中的双引号echo

我有一行php代码,看起来像这样: echo "<script>$('#edit_errors').html('<h3><em>Please Correct Errors Before Proceeding</em></h3>')</script>"; 我想知道如何正确添加字体颜色的文字。 如果我这样做: echo "<script>$('#edit_errors').html('<h3><em><font color="red">Please Correct Errors Before Proceeding</font></em></h3>')</script>"; “红色”一词是黑色文字,编译器会报错。 如果我用红色的单引号,那么文本根本不显示。 任何帮助将是伟大的。 谢谢