javascript 相关问题

JavaScript(不要与Java混淆)是一种高级,动态,多范式,面向对象,基于原型的弱类型语言,用于客户端和服务器端脚本。它的主要用途是渲染和操作网页。使用此标记可以了解有关ECMAScript及其各种方言/实现的问题(不包括ActionScript和Google-Apps-Script)。

致命错误:使用yarn安装模块时Javascript耗尽堆内存

我正在运行反应本机应用程序。直到昨天为止都很好,但是今天我在尝试使用以下命令安装 package.json 中列出的模块时收到如下错误 纱线安装

回答 1 投票 0

事件循环如何处理多进程单核CPU中的时序

我可以通过多种方式提出这个问题。假设我们有一个单核 CPU,操作系统在其上运行两个进程。进程 1 是一个 Node 应用程序,进程 2 是一个 Node 应用程序,我们不关心...

回答 1 投票 0

React Native 警告:包含“key”prop 的 props 对象正在通过 BottomTab.Navigator 和react-native-paper 传播到 JSX 中

当使用@react-navigation/bottom-tabs中的BottomTab.Navigator和react-native-paper中的BottomNavigation.Bar时,我在React Native项目中遇到以下警告 错误 警告:A...

回答 1 投票 0

VSCode 始终显示类型定义而不是实际实现

你们中的任何人是否遇到过这样的问题:vscode 总是将您带到函数的类型定义而不是实现。 例如, 我右键单击react setState函数,如下所示, 一个...

回答 3 投票 0

Codeigniter 4 ajax post导致404错误

我正在尝试使用本地主机 xampp 上的 JQuery ajax 函数来处理表单提交。但是,以下始终会导致 404 页面未找到错误: $(文档).on("点击", ".

回答 1 投票 0

打印模态内容后,关闭模态按钮不起作用

我在模态上有打印按钮来打印模态的内容。但单击打印按钮后,数据打印正确,但关闭模式和取消模式不起作用。 这是我的主要职能...

回答 7 投票 0

在帮助嵌入中显示子命令

无论我尝试什么,我都无法显示子命令。它只显示这个 乐趣中的命令 /fun:有趣的命令! 今天 13:07 示例 fun.js 我尝试在互联网上搜索,询问

回答 1 投票 0

在帮助嵌入中显示子命令。 Discord.js v14

无论我尝试什么,我都无法显示子命令。它只显示这个 乐趣中的命令 /fun:有趣的命令! 今天 13:07 示例 fun.js 我尝试在互联网上搜索,询问

回答 1 投票 0

如何使用 jQuery 更改日期格式?

我有一个类似于 fecha2.value = '2014-01-06' 格式的日期,但我想使用 jQuery 将格式更改为 '01-06-14'。 我该怎么做?

回答 6 投票 0

AJAX 问题 - 新手

我的一个网页中有一个 HTML 文本框,没有提交按钮。 网站网址: ...

回答 1 投票 0

如何更改此扩展应用程序中的输入顺序,以使最新的线索位于顶部而不是底部

正如您所看到的,如果您尝试了代码并在应用程序中保存输入,它将按从上到下的顺序保存,我希望它是从下到上的顺序,这是完整的代码,如果您想要htm...

回答 1 投票 0

理解晦涩难懂的 JavaScript 代码

我在 HTML 页面的 部分找到了这段代码(这是一位同事制作的,但他不再在这里工作了): (函数(窗口,PhotoSwipe){ document.addEventListener('DOMContentLoad...

回答 5 投票 0

Firebase Auth 模拟器间歇性失败,并显示“auth/emulator-config-failed”

我只在模拟器可用时才尝试使用它。如果模拟器不可用(即:如果我没有运行 firebase emulators:start),connectAuthEmulator 不会失败。后来当我...

回答 5 投票 0

门户小部件不适用于公共用户

在Odoo v16模板表单中,我有一个选择字段“活动类型”,其中包含来自后端的记录(类似于Many2many标签小部件,但现在在门户中),将由用户选择,并且用户可以...

回答 1 投票 0

matrix-js-sdk 获取来自房间的所有消息

如何获取矩阵中某个房间的所有消息? 我正在关注 https://matrix.org/docs/guides/usage-of-the-matrix-js-sdk 我已启动并同步客户端。 访问房间.时间轴...

回答 1 投票 0

如何按期间禁用一周中的几天?

我目前正在尝试添加日期选择器并禁用一周中的某些日子(例如星期一),以防止在办公室关闭的那些日子进行预订。我找到了 daysOfWeekDisabled 参数...

回答 1 投票 0

Boostrap 日期选择器,按周期禁用一周中的日子

我目前正在尝试添加日期选择器并禁用一周中的某些日子(例如星期一),以防止在办公室关闭的那些日子进行预订。我找到了 daysOfWeekDisabled 参数...

回答 1 投票 0

将变量替换为包含 HTML 的字符串中数据库中的值

我从编辑器收到了一个字符串,其中包含 HTML 标签,如下所示: const htmlString = "帐户 {{帐户}} 我从编辑器收到一个字符串,其中包含 HTML 标签,如下所示: const htmlString = "<div>Account <span contenteditable="false">{{account}}</span></div>. <div>Hello <span contenteditable="false">{{hello}}</span></div>" 在此内容中,有两个格式为 {{account}} 和 {{hello}} 的变量。 在我的数据库中,我以格式存储变量数据 { key: string, value: string, isDefault: boolean }: [ { "key" : "account", "value" : "", "isDefault" : true, }, { "key" : "hello", "value" : "Hello everyone", "isDefault" : false } ] 首先,我使用一个函数来删除 HTML 标签: const blockTags = /<(div|h1|h2|h3|h4|h5|h6|p|ul|ol|li|br)[^>]*>/gi; const inlineTags = /<\/?(span|a|strong|em|b|i|u)[^>]*>/gi; let content = htmlString.replace(blockTags, '\n').replace(/<\/(div|h1|h2|h3|h4|h5|h6|p)>/gi, '\n'); content = content.replace(inlineTags, ''); content = content.replace(/<[^>]+>/g, ''); content = content.replace(/\n\s*\n/g, '\n').trim(); 然后,我提取变量: const variables = (content.match(/\{\{(.*?)\}\}/gi) || []).map((item) => item.replace(/\{\{|\}\}/g, '')); 最后,我使用一个函数将所有变量替换为数据库中相应的值,如果变量是默认值(isDefault = true),我将根据系统规则根据配置替换为动态值: const objVariables = variables.reduce((acc, { key, value, isDefault }) => { acc[key] = { value, isDefault }; return acc; }, {}); const result = content.replace(/\{\{(.*?)\}\}/g, (match, variable) => { const variableData = objVariables[variable]; if (variableData && variableData.isDefault) { if (variable === "account") { return "ACCOUNT_NAME"; } } return variableData ? variableData.value : match; }); 我想用数据库中存储的值替换 HTML 字符串中的所有变量,但我认为我的代码不是最好的解决方案,而且可能很慢。我正在寻找优化的解决方案或任何建议。 我认为你应该迭代你的变量并替换它们(如果在字符串中找到它们)...不需要剥离标签。 const myVariables = [ { "key" : "account", "value" : "", "isDefault" : true }, { "key" : "hello", "value" : "Hello everyone", "isDefault" : false }, ]; let myString = myContent.innerHTML; myVariables.forEach ( ( { key, value, isDefault } ) => myString = myString.replaceAll ( `{{${key}}}`, ( ( isDefault && ( key === 'account' ) ) ? 'ACCOUNT_NAME' : value ?? key ) ) ); myContent.innerHTML = myString; <div id="myContent"> <div>Account <span contenteditable="false">{{account}}</span>.</div> <div>Hello <span contenteditable="false">{{hello}}</span></div> </div> 请注意,在上面的示例中,甚至没有触及 html。 const htmlString = `<div>Account <span contenteditable="false">{{account}}</span></div>. <div>Hello <span contenteditable="false">{{hello}}</span></div>`; const databaseVariables = [ { key: "account", value: "", isDefault: true }, { key: "hello", value: "Hello everyone", isDefault: false }, ]; // Step 1: Convert database array into a Map for faster lookups const variableMap = new Map(databaseVariables.map(item => [item.key, item])); // Step 2: Function to strip HTML tags while keeping content structure function stripHtml(html) { // Replace block tags with newline and inline tags with nothing return html .replace(/<(div|h[1-6]|p|br)[^>]*>/gi, '\n') // Block-level elements .replace(/<\/(div|h[1-6]|p)>/gi, '\n') // Block-level end tags .replace(/<\/?(span|a|strong|em|b|i|u)[^>]*>/gi, '') // Inline tags .replace(/\n\s*\n/g, '\n') // Remove excess newlines .replace(/<[^>]+>/g, '') // Remove remaining tags .trim(); } // Step 3: Function to replace variables in content function replaceVariables(content) { return content.replace(/\{\{(.*?)\}\}/g, (match, variable) => { const variableData = variableMap.get(variable); if (variableData) { if (variableData.isDefault && variable === "account") { return "ACCOUNT_NAME"; } return variableData.value || match; } return match; }); } const strippedContent = stripHtml(htmlString); const finalResult = replaceVariables(strippedContent); console.log(finalResult);

回答 2 投票 0

如何保存 Malhar Angular 小部件上的样式更改?

我已经在我的 AngularJS 应用程序中安装了 malhar-angular-dashboard 模块。 我配置了一个带有显式保存的布局。 问题是我不知道如何保存小部件样式更改。 之后我...

回答 1 投票 0

拼写错误或缺少模块?

我有一个 ASP.NET MVC5 应用程序,其中使用 AngularJS。在此,我有一个名为 atTheMS 的模块,其中包含一个名为 albumService 的服务工厂和 3 个控制器:ListController、EditController、...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.