我有一个基本的<input type="text" oninput="funct()"></input>
.
然而,当我输入中文时,oninput
它也是由 IME 输入触发的,而不仅仅是结果字符。例如,当我用拼音输入法输入“\xe6\x88\x91\xe5\x80\x91”时,我的函数funct()
显示console.log(WHAT_I_TYPED)
,控制台显示:
我希望它只读取“\xe6\x88\x91\xe5\x80\x91”。但是,我不想修改函数中的文本,因为中文输入法太多,无法实现。
\n我看到了下面的代码,想知道除了强制该方法具有关键字之外async
,在最后一条指令上指定等待是否有用?例子
async example(){
//... whatever code
//Last instruction
await functionReturningAPromise()
}
Run Code Online (Sandbox Code Playgroud)
请注意,在这里我怀疑退货丢失了,但即使有退货,我的问题仍然存在。
async example(){
//... whatever code
//Last instruction
return await functionReturningAPromise() //Is this useful ? or should we return directly
}
Run Code Online (Sandbox Code Playgroud)
我个人认为没有真正的兴趣。
我已经将应用程序从webpack-i18n
用于翻译升级为使用i18next
(13.1.5)。在大多数情况下,一切正常,但是在一个特定页面上,我的ejs
文件之一中的文本均未加载。在特定情况下,js
该页面的文件会进行一些调用i18next.t
,如果我触发了它们,则将成功检索并显示这些字符串的文本。该ejs
文件似乎仍在处理中,因为结构和图像都正确。
我找不到任何可以解释正在发生的错误,并且不确定i18next
在此页面上如何查找正在发生的情况。我有debug: true
for i18next
,可以在浏览器控制台中看到整个配置。这包括资源,以及翻译键/值对的完整列表。因此,似乎i18next
正在查找所有字符串并加载它们。但是在这个ejs
文件中对它们的任何引用都没有。
我们只有en
翻译,在i18next
配置中,lng
和fallbackLng
均为en
。因此,我认为该应用程序认为该模板文件可能不需要使用其他语言,并且正在寻找一种不存在的替代翻译。我想这也会以某种方式提示它出错。
控制台中没有错误。那么,我如何才能找到有关i18next
这种情况下正在发生的事情的更多信息?我无法确定它是否真的在ejs
文件中命中并评估了这些调用,并认为这null
是正确的响应,或者是否以某种方式根本不评估这些字符串中的任何一个,还是在实际中遇到了某种错误,并且错误只是没有达到我。
由于其他页面可以正常工作,甚至js
这个页面的文件中的字符串都可以正常工作,这更加令人困惑。在无法ejs
正常工作的文件和无法正常工作的文件之间,我找不到任何不同之处。一个或多个引用的字符串出现问题似乎不太可能导致文件中的所有字符串失败,尤其是如果它默默地失败了。有什么想法吗?我是i18next
Java的新手,对Java的了解也不是很好,所以我不知如何进一步调试。
我正在尝试在我的节点项目中使用 keycloak,但我总是收到以下消息:无法读取未定义的属性“keycloak-token”。
在此之前,我已经启动了 keycloak,我创建了一个新领域“Test”和一个新用户“id_a”,我为它设置了一个新密码。我可以使用 keycloak 访问该帐户,但无法使用我的代码。你能帮我么 ?
var session = require('express-session');
var Keycloak = require('keycloak-connect');
const express = require('express');
var memoryStore = new session.MemoryStore();
let kcConfig = {
clientId: "id_a",
bearerOnly: true,
serverUrl: 'http://localhost:8080/auth',
realm: 'Test'
};
let keycloak = new Keycloak({ store: memoryStore }, kcConfig);
var app = express();
app.use( keycloak.middleware() );
app.get( '/complain', keycloak.protect(), function(req, res) {
res.send('hello world');
});
app.listen(3001, function(){
console.log('Server started on port 3001...')
});
Run Code Online (Sandbox Code Playgroud)
输出是:'TypeError:无法读取未定义的属性'keycloak-token',我希望你好世界
我正在尝试将https://codepen.io/SpacecaseArtist/project/editor/DQWYxo放到我的本地计算机上来玩它.
我单击右下角的导出,然后下载了zip.我将zip解压缩到一个文件夹中,然后在我的浏览器上打开index.html.当我打开它时,我会看到一个带有标题的可滚动空白页面.
我的第一个想法是必须有一些误导的资产,所以我查看了index.html文件,并看到:
<script src="//s3-us-west-2.amazonaws.com/s.cdpn.io/138941/draggble.min.js"></script>
<script src="//s3-us-west-2.amazonaws.com/s.cdpn.io/138941/teenmax.min.js"></script>
<script src="//s3-us-west-2.amazonaws.com/s.cdpn.io/138941/waypoints.min.js"></script>
<script src="//s3-us-west-2.amazonaws.com/s.cdpn.io/138941/classy.js"></script>
Run Code Online (Sandbox Code Playgroud)
是否有这些.cdpn.io cns的东西,使我不能在我的本地机器上运行它?我怎么能绕过这个?
这是我的反应组件:
\n\nimport React from \'react\';\nimport { promised } from \'q\';\n\nconst Trending = (props) => {\n console.log(props.data);\n\n\n return (\n <div>\n //code to print\n\n </div>\n ) \n}\n\nexport default Trending;\n
Run Code Online (Sandbox Code Playgroud)\n\n我正在控制台日志中获取数据。
\n\n(10) [{\xe2\x80\xa6}, {\xe2\x80\xa6}, {\xe2\x80\xa6}, {\xe2\x80\xa6}, {\xe2\x80\xa6}, {\xe2\x80\xa6}, {\xe2\x80\xa6}, {\xe2\x80\xa6}, {\xe2\x80\xa6}, {\xe2\x80\xa6}]\n0:\ndb_frequency: 17\ndb_keyword: "modi"\n__proto__: Object\n1: {db_keyword: "gandhi", db_frequency: 14}\n2: {db_keyword: "ipl", db_frequency: 10}\n3: {db_keyword: "election", db_frequency: 18}\n4: {db_keyword: "vote", db_frequency: 7}\n5: {db_keyword: "upsc", db_frequency: 11}\n6: {db_keyword: "dhoni", db_frequency: 6}\n7: {db_keyword: "ranveer", db_frequency: 7}\n8: {db_keyword: "pollution", db_frequency: 2}\n9: {db_keyword: "unemployment", db_frequency: …
Run Code Online (Sandbox Code Playgroud) 有没有一种方法可以就地解构JS对象,而不是将解构后的变量分配给作用域?
而不是这样做:
const { a, b, c } = obj;
someFunction(a, b, c);
Run Code Online (Sandbox Code Playgroud)
我想这样做:
someFunction({a, b, c} from obj);
Run Code Online (Sandbox Code Playgroud)
或功能上等效的东西。
我想在有以下两个规定的情况下执行此操作:
我不想将变量名放入封闭范围。
我不想传递整个对象obj
,因此使散布运算符不是一个选择。
我剩下的唯一选择是使用
someFunction(obj.a, obj.b, obj.c);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,这很好,但是当obj
它是长标识符时,可能会降低可读性。
这样的事情可能吗?我想作为一个解决方法表达式中使用赋值,但我的IDE抱怨说,找不到名称a
,b
以及c
:
someFunction({a, b, c} = obj);
Run Code Online (Sandbox Code Playgroud) 有什么区别:
(function () {'use strict';})();
Run Code Online (Sandbox Code Playgroud)
和 "use strict"
。
我不明白何时或为什么我会使用其中之一而不是另一个?
我认为一个声明完整的外部JS文档严格,另一个使函数严格。
当我看到人们将完整的外部 JavaScript 封装在以下内容中时,我感到困惑:
(function () {'use strict';})();
Run Code Online (Sandbox Code Playgroud)
为什么不直接使用 use 来启动文档"use strict"
呢?
最后,我使用相同的代码测试了外部 JS 文档。一,我用过"use strict"
并且有效。
另一个我附上了完整的JS文档(function () {'use strict';})();
,但它不起作用。
为什么?
JavaScript 是我的第一种编程语言,它的深度让我有点不知所措。我非常感谢您的耐心和专业指导,感谢您为我提供的任何帮助或指导。
太感谢了。
我正在尝试使用 ES6 模块导入 .css 文件,但出现错误。甚至可以在不使用捆绑器或转译器(如 webpack)的情况下导入 css 文件吗?
加载模块脚本失败:服务器以“text/css”的非 JavaScript MIME 类型响应
<html>
<body>
<div id="app">
{{ msg }}
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script type="module">
import './style.css'
new Vue({
el: '#app',
data: {
msg: 'Hello World!'
}
})
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 下面是一个输入数字表单,使用 JavaScript,我添加了几行代码,可写入的最小数字为 1,最大可写入数字为 50。当有人尝试输入任何小于 1 的数字时大于 50 时,它会自动将其替换为数字 1 或 50,但我没有成功实现此目标,我需要您的帮助。
document.getElementById('info1').addEventListener("input", function () {
let num = +this.value, max = 50, min = 1;
if (num > max || num < min) {
return false;
}
})
Run Code Online (Sandbox Code Playgroud)
<input type="number" id="info1" size="4">
Run Code Online (Sandbox Code Playgroud)
javascript ×10
ecmascript-6 ×4
function ×4
html ×4
css ×2
object ×2
arrays ×1
async-await ×1
ejs ×1
es6-modules ×1
html5 ×1
i18next ×1
ime ×1
input ×1
keycloak ×1
mode ×1
node.js ×1
promise ×1
reactjs ×1
strict ×1
typescript ×1
webpack ×1
webpage ×1