括号中的 JSLint 表示音频未定义,但不抱怨图像
JSLint in Brackets says Audio is not defined, but doesn't complain about Image
我有这个代码:
var me = {
PreloadImage: function(src) {
var e = new Image();
e.src = src;
},
CreateAudio : function(src) {
var c = new Audio(src);
c.play();
}
}
我对 new Audio()
有疑问,因为括号中的 JSLint
表示 Audio
尚未定义,但对 Image
则不同:
有时我必须做类似 window.console.log
而不是 console.log
的事情,因为 console.log
没有定义,但如果是这样,我必须在 [=13 之前添加什么=] 和 Image
?
您必须等待 DOM 准备就绪。由于您使用的是 jQuery,请将您的代码封装在其中:
$(document).ready(function () {
// Your code...
});
您也可以使用以下语法:
$(function () {
// Your code...
});
(额外提示:在代码中使用 switch
指令。RoNBeta.js
有点可怕...)
而不是 var c = new Audio(src);
使用 var c = document.createElement('audio'); c.src=src; c.play();
接受的答案对我来说似乎不是解决该问题的最佳方式。您应该更改 JSLint
选项或在该特定行上禁用该规则。
将其添加为全局
在 JSLint
和 ESLint
中,您可以将其添加为全局来修复它:
{
"globals": {
"Audio": true
}
}
添加浏览器环境
{
"env": {
"browser": true
}
}
JSLint:
{
"browser": true
}
括号中的 JSLint 选项
您也可以在 Brackets 的首选项中更新它们:
"jslint.options": {
"browser": true,
OR
"globals": {
"Audio": true
}
}
在该行禁用 linting 或忽略该规则
您还可以为该行或该行上的特定规则禁用 linting:
ESLint
:
const c = new Audio(src); // eslint-disable-line
或:
// eslint-disable-next-line
const c = new Audio(src);
JSLint
:
const c = new Audio(src); // jslint ignore:line
我有这个代码:
var me = {
PreloadImage: function(src) {
var e = new Image();
e.src = src;
},
CreateAudio : function(src) {
var c = new Audio(src);
c.play();
}
}
我对 new Audio()
有疑问,因为括号中的 JSLint
表示 Audio
尚未定义,但对 Image
则不同:
有时我必须做类似 window.console.log
而不是 console.log
的事情,因为 console.log
没有定义,但如果是这样,我必须在 [=13 之前添加什么=] 和 Image
?
您必须等待 DOM 准备就绪。由于您使用的是 jQuery,请将您的代码封装在其中:
$(document).ready(function () {
// Your code...
});
您也可以使用以下语法:
$(function () {
// Your code...
});
(额外提示:在代码中使用 switch
指令。RoNBeta.js
有点可怕...)
而不是 var c = new Audio(src);
使用 var c = document.createElement('audio'); c.src=src; c.play();
接受的答案对我来说似乎不是解决该问题的最佳方式。您应该更改 JSLint
选项或在该特定行上禁用该规则。
将其添加为全局
在 JSLint
和 ESLint
中,您可以将其添加为全局来修复它:
{
"globals": {
"Audio": true
}
}
添加浏览器环境
{
"env": {
"browser": true
}
}
JSLint:
{
"browser": true
}
括号中的 JSLint 选项
您也可以在 Brackets 的首选项中更新它们:
"jslint.options": {
"browser": true,
OR
"globals": {
"Audio": true
}
}
在该行禁用 linting 或忽略该规则
您还可以为该行或该行上的特定规则禁用 linting:
ESLint
:
const c = new Audio(src); // eslint-disable-line
或:
// eslint-disable-next-line
const c = new Audio(src);
JSLint
:
const c = new Audio(src); // jslint ignore:line