小编cle*_*aul的帖子

如何在 Javascript 中捕获 404 错误?

我有一个 HTML 音频元素,我正在将该元素的“src”属性动态设置为存储在我们局域网上的音频文件。

这是它的工作原理:

function setSource(source) {
   audio.src = source;
}

var audio = new Audio();
var source = "http://localhost/folder/file.mp3";
setSource(source);
Run Code Online (Sandbox Code Playgroud)

有时,我指向的源音频文件的链接已损坏,这会导致生成 404 错误并将其记录到浏览器控制台。

在此处输入图片说明

我希望能够捕获 404 错误,以防止它们被记录到控制台。

这是我尝试的方式:

function setSource(source) {
  try {
    audio.src = src;
  }//end try
  catch (e) {
    //do nothing
  }//end catch
}//end setSource

var audio = new Audio();
var source = "http://localhost/folder/file.mp3";
setSource(source);
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的 try/catch 语句完全没有做任何事情,错误仍然记录到控制台。难道我做错了什么?

由于我的应用程序的性质,会有很多 404 错误,这是正常和预期的,但它看起来非常不稳定和“丑陋”用户(如果他们碰巧打开控制台)。

仅供参考:我正在使用谷歌浏览器。

html javascript error-handling google-chrome http-status-code-404

7
推荐指数
2
解决办法
1万
查看次数

在Javascript中创建对象数组的最佳方法是什么?

据我所知,在Javascript中,我可以创建一个这样的对象:

var cup = {};
Run Code Online (Sandbox Code Playgroud)

此外,我可以设置这样的属性:

cup.color = 'Blue';
cup.size = 'Large';
cup.type = 'Mug';
Run Code Online (Sandbox Code Playgroud)

我可以创建一系列杯子吗?例如:

cup[0].color = 'Blue';
cup[1].size = 'Large';
cup[2].type = 'Mug';
Run Code Online (Sandbox Code Playgroud)

javascript arrays object

6
推荐指数
3
解决办法
2万
查看次数

HTML 的“onclick”可以在移动设备上运行吗?

HTML onclick 属性是否适用于 Chrome 和 Safari 中的 iOS 和 Android 设备。

例如,如果 HTML 按钮具有 onclick 属性来运行 JavaScript 函数,那么触摸手势是否会像单击一样工作?

html javascript browser events ios

6
推荐指数
1
解决办法
3万
查看次数

为什么有多种 HTTP 方法可用?

当我第一次开始开发需要使用 HTTP 向服务器发送数据的客户端/服务器应用程序时,我对 HTTP 方法还很陌生。我确实对所有事情都使用了 GET 请求。

后来我了解到我应该使用 POST 发送数据并使用 GET 请求数据,但是,我有点困惑为什么这是最佳实践。从功能角度来看,我可以使用 GET 或 POST 来实现完全相同的事情。

为什么使用特定的 HTTP 方法而不是对所有内容使用相同的方法很重要?

我知道 POST 比 GET 更安全(GET 使数据在 HTTP URL 中可见),但是,我们不能只使用 POST 来处理所有事情吗?

methods ajax post get http

5
推荐指数
1
解决办法
1747
查看次数

Node.js在哪里获得时区,如何在全局设置它?

我正在运行Windows 10专业版,并且我的时区和区域设置设置为布里斯班/澳大利亚(UTC + 10:00)。此外,我正在为要构建的应用程序在系统上运行Node.js。

我在Node.js中运行以下命令:

  var x = new Date();
  console.log(x);
Run Code Online (Sandbox Code Playgroud)

它返回以下内容:

2017-09-07T23:42:33.719Z

注意datetime字符串末尾的Z吗?这代表祖鲁时间。(UTC + 0)

我假设没有指定时区时,这是在Node.js中默认设置的。如何在Node.js中全局指定时区,以确保正确返回所有日期对象?

javascript timezone datetime object node.js

4
推荐指数
1
解决办法
7033
查看次数

为什么我无法在具有“contenteditable”属性的 HTML 按钮文本中添加空格?

我有一个 HTML 按钮,我希望用户双击时能够更改按钮的文本。

<button onclick='doStuff()' ondblclick='renameButton()' id='myButton'>Click Me</button>
Run Code Online (Sandbox Code Playgroud)

这是我在 JavaScript 中的函数:

function renameButton() {
  var button = document.getElementById('myButton');
  button.setAttribute("contenteditable", true);
}//end renameButton 
Run Code Online (Sandbox Code Playgroud)

此功能允许我编辑按钮:

在此输入图像描述

问题 1)编辑按钮时无法添加空格。我键盘上的空格键实际上没有任何作用。

问题2)是否可以在可编辑文本上设置白色背景,以便用户看到它是可编辑的?据我所知,只能控制整个按钮元素的背景颜色,而不能控制文本节点。

html javascript css element button

3
推荐指数
1
解决办法
1931
查看次数

操作JavaScript对象的最佳方法是什么?

我有一个JavaScript对象:

["campaign_id","campaign_name","campaign_type","campaign_status"]
Run Code Online (Sandbox Code Playgroud)

我希望对象看起来像这样:

[
  {"name":"campaign_id","title":"campaign_id"},
  {"name":"campaign_name","title":"campaign_name"},
  {"name":"campaign_type","title":"campaign_type"},
  {"name":"campaign_status","title":"campaign_status"}
]
Run Code Online (Sandbox Code Playgroud)

使用Javascript操作对象的最佳方法是什么?

javascript arrays jquery object

1
推荐指数
1
解决办法
92
查看次数

为什么Javascript会向我显示错误的日期?

考虑以下在JavaScript中创建的日期对象.

var date = new Date("2017-09-07T16:46:06.000Z");
Run Code Online (Sandbox Code Playgroud)

此日期对象应相当于2017年9月7日下午4:46:06

但是,在浏览器控制台中,当我键入以下内容时:

console.log(date);
Run Code Online (Sandbox Code Playgroud)

返回以下内容:

周五09年8月8日02:46:06 GMT + 1000(澳大利亚标准时间)

时机不对.(它实际上是今天的日期,但时间是完全错误的).

困惑的关键点:

  • 我的电脑时区设置为GMT + 1000(澳大利亚/布里斯班)
  • 当我创建日期对象时,我没有指定时区,因此它应该符合我的系统时区
  • 当我将日期对象记录到控制台时,它仍然使用GMT + 1000(澳大利亚/布里斯班),但日期不同

javascript date object

0
推荐指数
1
解决办法
56
查看次数