JavaScript 执行使页面暂时挂起

2023-12-27

我有一个网络应用程序使用jQuery/JavaScript重重。它在内存中保存一个大数组,用户通过在文本框中键入内容来过滤它。

问题:当过滤算法运行时,应用程序变得无响应浏览器甚至可能询问用户是否让脚本继续。

最理想的是,我希望过滤器功能在单独的线程,以避免无响应。这有可能吗?或者,我想显示一个旋转沙漏或类似的东西,但浏览器在运行繁重的脚本时似乎无法显示动画 GIF。

解决问题的最佳方法是什么?


浏览器在主事件处理线程中执行脚本。这意味着任何长时间运行的脚本都会占用浏览器队列。

您应该将过滤器逻辑分成块并运行它们timeout http://www.w3schools.com/jsref/met_win_settimeout.asp回调的.您可以在执行之间使用 0 米尔的间隙。 0毫秒只是对浏览器的建议,但浏览器将利用后续回调之间的间隙来清除其事件队列。超时通常是指在浏览器环境中运行的脚本应该执行多长时间,以防止页面“挂起”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 执行使页面暂时挂起 的相关文章

  • 在 Javascript 中动态添加事件处理程序

    我在使用 Javascript 时遇到了一个奇怪的问题 我得到的是一个特定格式的字符串 我将尝试用它创建一个表 该表每行只有一个单元格 字符串的格式为 每个单元格 行 需要显示内容 将传递给的参数onmouseover当用户将鼠标移动到显示
  • 在每页上插入折叠标记 (wkhtmltopdf)

    我正在使用 wkhtmltopdf 0 12 2 1 创建发票等 我需要在 pdf 的每一页上显示折叠标记 如果内容大于一页 如何在每个页面上使用 javascript 重复它们 这是我的基本标记 div class marks div c
  • 使用JQuery检查元素是否有边框?

    所以我正在玩 el css 尝试确定元素是否有边框 我用 css border style solid 设置边框 这是可行的 但实际上它设置了 4 种单独的样式 border right style border left style bo
  • 如何获取传单标记簇中点击事件的图块?

    这是我的代码 function onMapClick e e originalEvent defaultPrevented true var orig e originalEvent console log orig target map
  • 使用 javascript 禁用按钮:FF 与 IE

    我有一排按钮 它们都会创建一个我想在新选项卡中打开的 pdf 文件 这样按钮页面就会保持在顶部 并且 pdf 会打开以进行打印 为了防止单击按钮两次 我禁用该按钮 如下所示 我使用 python
  • 默认情况下嵌入带字幕的 Youtube 不起作用

    我正在尝试嵌入 Youtube 电影 并希望默认情况下打开字幕 From https developers google com youtube player parameters cc load policy https develope
  • Ajax JSON 数据和灯箱冲突

    我有一个带有灯箱插件的画廊设置光廊 http sachinchoolur github io lightGallery docs 该画廊与静态 HTML 完美配合 当我动态抓取 API 数据并尝试让灯箱处理这些项目时 问题就出现了 我似乎无
  • mouseover 和 mouseout 事件在子进程上触发

    代码 div div div div 如果我将鼠标悬停在Navigation the Drop Downdiv 向下滑动 如果我将鼠标移开 它会向上滑动 问题是如果我将鼠标悬停在孩子上Drop Downdiv它也向上滑 动 有谁知道我该如何
  • 使用 jQuery UI 日期选择器选择日历更改 URL

    我正在使用 jQuery UI 选择器 我想知道当有人选择日期时是否有可能 它会自动将他们重定向到 URL 如下所示 index php date 2013 10 15 这是我正在使用的插件 Date
  • Sequelize.js - “不关联到”

    我在从数据库获取完整数据时遇到一些问题 那是我的模型 User module exports function sequelize DataTypes return sequelize define user id type DataTyp
  • 监听浏览器宽度以进行响应式网页设计?

    我正在努力使我的网站适合移动设备 我想知道浏览器窗口的大小 以便当它比 728px 窄时我可以执行某些操作 而当它大于 728px 时我可以执行其他操作 这必须考虑到调整 PC 上的窗口大小以及在手机中从纵向模式更改为横向模式 如何才能做到
  • 当条件评估为 true 时获取元素(扩展 ElementArrayFinder)

    我们有一个菜单 表示为ul gt li列表 简化 ul class dropdown menu li class ng scope a href class ng binding Menu Item 1 a li li li ul
  • 如何检查 Map 或 Set 是否为空?

    对于 JavaScript 中的传统对象 使用以下命令很容易检查它是否为空 Object keys method const emptyObj console log Object keys emptyObj length 0 true i
  • 如何使用JQuery和Django(ajax + HttpResponse)?

    假设我有一个 AJAX 函数 function callpage ajax method get url abc data x 3 beforeSend function success function html IF HTTPRESPO
  • 如何查看网站浏览者的操作系统?

    我运行的是 Ubuntu 8 04 最近在访问网站时收到以下错误 请使用运行 Windows 98 2000 Me NT 或 XP 的计算机返回 www site com 网站如何知道我正在运行哪个操作系统 是仅通过 javascript
  • 限制 jQuery id 字符串吗?

    简而言之 我的问题是字符串在 jQuery 中作为可搜索 id 或可搜索内容有什么限制 更新 我得到了 ID 部分 但不是为什么我什至无法使用该字符串搜索 html 内容 对于任何愿意告诉我一个正则表达式来将模式从 MM dd yy HH
  • 为什么从浏览器上传到 S3 时出现 403 错误?

    因此 我尝试查看此处之前的答案 但似乎没有任何效果 我正在使用 Dropzone 它似乎发出 OPTIONS 请求来获取所有允许的 CORS 相关信息 但它似乎没有正确返回 因此 通过查看 Chrome 开发工具 我有以下请求标头 Host
  • javascript:window.print() 打印 2 页,而我有 1 页

    我有一个简单的 HTML 文档 其中仅包含图像标签 我想在文档加载后打印图像 我的代码 img src form1 jpg alt form1 style margin 0 auto display block 它可以工作 但问题是它打印图
  • Three.js WebGL 从着色器绘制圆形自定义填充和边框颜色

    我将 Three js 与 WebGLRenderer 一起使用 我试图找出或查看如何使用 CircleGeometry 绘制圆圈的示例 并能够从顶点或片段着色器控制其填充和边框颜色 如果不使用图像作为纹理 这是否可能 抱歉 如果这真的很简
  • 如何按字母顺序排序并先小写排序

    如何获得以下排序的结果Food to Eat然后是 食物123 显然 第二个较低的 o 应该将 要吃的食物 带到排序后的第一个项目中 我很惊讶这个问题不容易通过谷歌找到答案 这个壮举没有包含在 javascript 标准中也让我感到惊讶 F

随机推荐

  • 如何混淆(保护)JavaScript? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想制作一个非开源的 JavaScript 应用程序 因此我想了解如何混淆我的 JS 代码 这可能吗 混淆 尝试YUI压缩器 http
  • 交错2个不等长度的列表[重复]

    这个问题在这里已经有答案了 我希望能够交错两个长度可能不相等的列表 我所拥有的是 def interleave xs ys a xs b ys c a b c 2 a c 1 2 b return c 这对于长度等于或只是 1 的列表非常有
  • C# 3.5 参数的可选值和默认值

    我正在使用 C net 3 5 构建应用程序 我一直在 net 4 0 中使用可选参数属性 没有出现任何问题 我确实注意到 在 3 5 中 可以选择 解决方法 将以下属性添加到您的方法中 如下所示 public static void Me
  • 您可以在一个项目中混合使用 .net 语言吗?

    您可以在一个项目中混合使用 net 语言吗 所以预编译后 我想调用其他源文件的类和方法 对于网络和应用程序 我对 F 和 C 特别感兴趣 您可以在单个程序集中混合语言 and MSBuild http msdn microsoft com
  • 我可以报告 openmp 任务的进度吗?

    想象一个经典的 OMP 任务 对 0 0 1 0 范围内的双精度型大向量求和 Live On Coliru http coliru stacked crooked com a 6167c106392d7020 using namespace
  • Shutil.rmtree:FileNotFoundError:[Errno 2]没有这样的文件或目录:'._xxx'

    代码和错误 减少 如果您想查看完整代码 请参阅最后一节 import shutil import os filteredCleaned Volumes Extreme SSD Raymond Lab Day 4 Rotarod Videos
  • 在 Python 中使用 Pillow 从图像中裁剪区域

    我想使用 python 中的 Pillow 从图像中裁剪出矩形区域 问题是矩形不一定与图像边距平行 因此我无法使用 crop left top right Bottom 函数 有没有办法用 Pillow 来实现这一目标 假设我们知道矩形的所
  • SignalR 覆盖 OnConnected()、OnDisconnected()

    我正在尝试覆盖OnConnected OnDisconnected 方法 但我得到 OnConnected no suitable method found to override 正在实施IDisconnect IConnect接口并在其
  • $elem与不同的匹配

    我对不同的查询有一些问题 db sessions distinct tests device serial 5b34f4bf9854a 5b34f4bf98664 5b34f4bf98712 5b34f4bf9876b 5b34f4bf98
  • IE8 中的垂直对齐方式不正确

    我的搜索框中的默认文本在 Chrome FF 和 Safari 中看起来不错 垂直对齐 中间 但是 那默认文本在 IE 8 中上升到搜索框的顶部 IE 有解决办法吗 感谢您的帮助 HTML
  • 如何为 mongodb 配置新端口

    我目前正在使用 mongodb 端口 27017 一切正常 出于安全目的 我们要配置新端口 你能帮我看看我们该如何配置吗 这边走 启动 mongodb 护照参数时 mongodb 端口 您想要的端口 mongod 端口 19000 使用端口
  • 从 C++ 设置系统变量

    这个shell脚本 bin csh set VAR 12345 echo VAR 将在 shell 中和平地输出 12345 我需要使用 C 在代码的某些部分执行相同的操作 string str 12345 retValue set var
  • 是否可以使用 Ruby 1.9.3 在 Heroku 上运行我的 Rails 应用程序?如果是这样,怎么办?

    我尝试了这个技巧 https github com thoughtbot laptop pull 14 issuecomment 3192270 https github com thoughtbot laptop pull 14 issu
  • 如何在 ASP.NET MVC 中记录未处理的异常?

    这是我在 Global asax vb 中尝试执行的操作 Public Class MvcApplication Inherits System Web HttpApplication Shared Sub RegisterRoutes B
  • 如何更新SVN中的文件?

    谁能告诉我更新 SVN 存储库中文件的命令 文件已经导入 我只想修改更改 该文件是main css和文件路径 home weblab public html cake 1 2 app webroot css 有人能给我确切的命令吗 我猜您已
  • 轻量级 JS AJAX 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我和我的朋友有一个网站 www rosasecta com 它使用了大量的Ajax 但都是手工的 而且
  • 如何使用正则表达式确定 Linux 上 C/C++ 中文件组的存在和大小? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我在 Linux 系统上有一个程序 它生成具有我需要访问的可预测文件名的数据日志文件 但我必须通过 C C 接口来执行此操作 访问数据
  • 在特定网址上显示页面操作图标

    我正在尝试让我的页面操作图标显示在特定的网址上 我尝试过实施这些示例here http src chromium org viewvc chrome trunk src chrome common extensions docs examp
  • 为什么 UpdatePanel 内的按钮在第一次后不执行 JQuery 事件

    我有一个按钮 在UpdatePanel 它打开一个弹出表单 允许我输入一些数据 然后提交执行一些功能 使用输入的新数据更新 UpdatePanel 并关闭弹出窗口
  • JavaScript 执行使页面暂时挂起

    我有一个网络应用程序使用jQuery JavaScript重重 它在内存中保存一个大数组 用户通过在文本框中键入内容来过滤它 问题 当过滤算法运行时 应用程序变得无响应浏览器甚至可能询问用户是否让脚本继续 最理想的是 我希望过滤器功能在单独