我应该增强客户端上的 Jquery Mobile 元素还是发送带有 data-enhance="false" 的增强标记?

2024-05-11

我有一个产品搜索,我正在发送回结果,每个结果都包含两个按钮 JQM 控制组。

我一次发送 24 条记录,因此需要增强 24 个控制组,如下所示:

<div data-role="controlgroup" data-type="horizontal" class="submitButton linkBox">
    <input type="button" class="singleLoader" data-brand="#d#" data-index="#e#" value="#tx#" />
    <input type="button" class="selector" data-brand="#d#" data-index="#e#" data-iconpos="notext" data-icon="fav" value="#tx#" />
</div>

如果我将控制组作为纯 HTML 发送并在客户端上增强它们,则服务器响应为1sec,数据发送20k,页面明显停滞了大约 1-2 秒,可能是因为 JQM 正忙于增强控制组。

我现在正在尝试替代方案,即

  $.mobile.ignoreContentEnabled = true;

并发送完全增强的标记而不是对照组。所以现在我发送这个:

<div data-enhance="false" class="ui-corner-all ui-controlgroup ui-controlgroup-horizontal">
     <div class="ui-controlgroup-controls">
           <div data-icon="" data-iconpos="" class="ui-btn ui-corner-left ui-btn-up-c" aria-disabled="false">
                <span class="ui-btn-inner ui-corner-left">
                     <span class="ui-btn-text">#tx#</span>
                </span>
                <input type="button" value="#tx#" class="ui-btn-hidden" aria-disabled="false">
      </div>
      <div data-icon="fav" data-iconpos="notext" title="#tx#" class="ui-btn ui-btn-icon-notext ui-corner-right ui-controlgroup-last ui-btn-up-c" aria-disabled="false">
           <span class="ui-btn-inner ui-corner-right ui-controlgroup-last">
                <span class="ui-btn-text">#tx#</span>
                <span class="ui-icon ui-icon-fav ui-icon-shadow">&nbsp;</span>
           </span>
           <input type="button" value="#tx#" data-icon="fav" data-iconpos="notext" class="ui-btn-hidden" aria-disabled="false">
       </div>
    </div>
 </div>

这增加了转移的大小34k和响应时间1.5sec,但是页面感觉明显更快,因为没有什么可以增强的。不过我也读过使用data-enhance=false,这对设备性能造成影响。

问题:
还有其他人有如何处理这个问题的经验吗?如果页面感觉更快,我是否应该选择大文件大小/传输时间/性能影响?


好的。基本上有三种选择。我用 Firebug 运行了每一个,以检查文件大小/加载时间以及由于渲染项目而导致的视觉停顿。

a) As is
我正在加载一个列表视图,其中 24 个搜索结果中的每一个都是列表项,每个列表项都有一个两个按钮控件组。

1 listview
24 list items
24 two button controlgroups

将标记略读到重要内容,我收到了20k, about 1sec发送结果,但随后页面在所有项目创建之前又停滞了大约 1-2 秒。

b) 数据增强=假
这还需要设置$.mobile.ignoreContentEnabled=true正如 JQM 所说,扫描data-enhanced是一个性能打击(参见here http://jquerymobile.com/test/docs/api/data-attributes.html)。但我并没有真正注意到。

这样做意味着您必须自己增强您需要的任何内容(在我的情况下是服务器端),因此我将发送完全增强的标记(注意:您也可以尝试删除数据属性,因为它们似乎只向 JQM 表明,什么要分配的班级等)

现在我的搜索返回了35k in 1.5sec,但是页面渲染速度更快,所以感觉好多了。

c) 不增强
我当时还在用trigger('create')关于我发送的东西。但是如果我不需要开火create由于我已经增强了服务器端,因此我不需要增强它们data-enhance=false以及全局配置,这也将节省隐含的性能损失。

事实证明这也很有效。文件大小仍然相同,我相信它会更快(希望这是可测量的)...

所以现在我更愿意发送更多数据(40k包括分页和增强的列表视图/列表项),它似乎响应速度更快。

仍然好奇其他人有什么经历,所以请发布您的发现。

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

我应该增强客户端上的 Jquery Mobile 元素还是发送带有 data-enhance="false" 的增强标记? 的相关文章

  • c3js数据标签的位置

    有没有可能的方法来更改数据上方标签的位置c3条形图 在官方文档中 很好地解释了如何通过操作 y 和 x 整数来更改 x 和 y 测量轴上标签的位置 但我没有找到任何数据标签 我试图用简单的方式指出它d3其上c3是基于但是console lo
  • 插入四个空格而不是制表符

    我试图在按下 Tab 键时插入四个空格 我正在使用以下代码 请参阅spaces t 但是当我将其切换到spaces 当我按 Tab 时只插入一个空格 我还尝试了 function textarea keydown function e va
  • jQuery 函数 .bind 在 IE 中不起作用

    这是我的网站 http johns webdesign com port html 如果您单击小缩略图 则会显示更大的图像 在 Chrome 中它工作得很好 但是当我在 IE9 中尝试它时它什么也没做 这是我的代码 jQuery JavaS
  • 是否可以使materialize.css模态更大并删除垂直滚动条?

    我刚刚创建了按钮 单击后会弹出一个模式 每个按钮都有一个显示不同练习 gif 的模式 然而 模态框太小 导致用户无法看到整个 gif 迫使他们向下滚动 我想删除滚动条并使模态更大 以便用户可以看到整个 gif 任何帮助都会很棒 这是我的代码
  • 具有单个成员的结构是否具有与成员类型相同的性能?

    Does struct单个成员是否具有与成员类型相同的性能 内存使用和速度 Example 这段代码是一个struct与单个成员 struct my int int value 是的表现my int与 一样int 同意 harper htt
  • 聚合物在核心输入上使用功能验证

    有人可以解释一下如何使用函数验证吗这种聚合物元素 http www polymer project org docs elements core elements html core input 导航到 验证 部分
  • 禁用外部点击时关闭模式

    我正在制作一些使用模式的博客物质化 但我的模态 onclick 外部和错误数据有问题 这是我的代码 main js function changepassword var user userlog val var content conte
  • 嵌套列表、jquery 和 stopPropagation

    我遇到了嵌套菜单未按照我预期的方式运行的问题 我已经在 StackOverflow 上查看了一堆有关 stopPropagation 的内容 但它似乎不起作用 不幸的是 该网站是基于 WordPress 的 因此我无法直接控制网站上菜单生成
  • jquery无法获取data属性值

    我正在尝试在 jQuery 中设置一个变量 该值应该在按钮的单击事件上设置 onclick 事件触发 但 x10Device 变量仍然存在undefined 我使用的是jquery 1 7 1 jQuery x10Device this d
  • jquery数据表跨页行数

    我正在为我的 HTML 表使用 jQuery DataTables 插件 有没有办法跨页获取我的表格中的行数的行数 例如 如果我有70我的表中的行 比方说50其中显示在第一页上 并且20在第二页 有没有办法得到计数70 我已经尝试了这篇文章
  • 为什么反射会减慢Android手机的速度

    我多次读到反射会降低手机性能 这有多真实 例如 在我的例子中 我从 Web 服务获取一些参数 这些参数与我在 Android 应用程序中的类的参数同名 所以我只是使用java字段和反射设置这些参数的值 它似乎并没有降低性能 有人可以向我解释
  • 将SQL数据引入jquery availabletag

    我正在尝试制作自动完成文本框 但如何将 SQL 数据包含到 jquery 可用标记并循环它 我无法根据以下代码执行该功能 任何帮助 将不胜感激 谢谢 这是我的预期输出 预期结果演示 http jsfiddle net VvETA 71 jq
  • 如何将本地文本文件上传到文本区域(网页内)

    我是一名新手程序员 需要一些帮助来弄清楚如何将本地文本文件上传到我正在构建的网站内的文本区域 我非常精通 HTML CSS 对 Javascript JQuery 有相当的了解 而且我刚刚学习 PHP 您能提供的任何帮助我将不胜感激 我有一
  • 未捕获的异常:数据表编辑器 - 不允许远程托管代码

    我正在尝试使用 Datatables 使用 datatableseditor 来实现 CRUD 操作 但是我收到错误消息 1 未捕获的异常 数据表编辑器 不允许远程托管代码 请参见http editor datatables net有关如何
  • jquery 中可点击 div 中的按钮

    我有整个 div 您可以单击它来切换该 div 的主要部分 问题是我在该 div 中也有可点击的按钮 当我点击它时 它会执行它应该做的事情 但同时也会切换整个 div 我怎样才能禁用它 Use event stopPropagation 单
  • 如何绕过Access-Control-Allow-Origin?

    我正在一个平台上对我自己的服务器进行ajax调用 他们设置了阻止这些ajax调用的平台 但我需要它从我的服务器获取数据以显示从我的服务器数据库检索到的数据 我的 ajax 脚本正在运行 它可以将数据发送到我的服务器的 php 脚本以允许其处
  • JQuery $.ajax() 在 java servlet 中发布数据

    我想将数据发送到 java servlet 进行处理 数据将具有可变长度并采用键 值对 A1984 1 A9873 5 A1674 2 A8724 1 A3574 3 A1165 5 数据不需要这样格式化 这就是我现在的方式 var sav
  • 表单 CSS:根据选中/未选中状态设置单选框的父级(标签)样式

    所以我有一个表格 表格中提出的大多数问题都是使用无线电输入 我要和
  • 议程周视图中的标题显示因加载的 fullcalendar js 文件而异

    在议程周视图中 日历标题中各天之间显示的破折号根据我加载的 fullcalendar js 显示有所不同 例如 如果我加载完整的 calendar js 文件 它会按预期工作 2015 年 2 月 8 日至 14 日 使用此脚本标签 当我尝
  • jQuery:如何正确使用 .stop() 函数?

    在本页面 http www arvag net old smsbox de http www arvag net old smsbox de 当您将鼠标悬停在 Informationen 和 ber ins 上时 它会显示一个子菜单 当您将

随机推荐

  • linq where 子句和 count 导致 null 异常

    除非 p School SchoolName 结果为 null 否则下面的代码将起作用 在这种情况下 它会导致 NullReferenceException if ExistingUsers Where p gt p StudentID i
  • PHP 文件由浏览器下载,而不是由本地开发服务器(MAMP)处理

    一切都很顺利 直到我添加AddHandler application x httpd php5s php到本地服务器文档根目录中的 htaccess 文件 根据我正在使用的站点 我经常更改该文件 因为我访问时这样做了http 本地主机 88
  • jQuery 倒计时插件 - 只显示非零周期

    我正在使用 jQuery 倒计时插件编写倒计时 我只希望它显示活动 非零 周期 例如代替 剩余时间 0 天 0 小时 13 分 20 秒 它应该只显示 13 分 20 秒 我的代码是 countdown countdown expiryUr
  • Kubernetes 的艰难之路 - 如何设置节点不可调度

    我正在从头开始配置 Kubernetes 集群 原因 它是虚拟机内的本地设置 一切都很好 除了master节点被创建为可调度的 我尝试过分配master通过将所需参数传递给 kubelet 二进制文件来对节点进行标签和适当的污点 不能解决问
  • Android Wear Overlay 传递触摸事件

    我有一个 Android Wear 应用程序 其中我使用透明的覆盖视图来接收触摸事件 我需要能够接收屏幕上任何位置发生的所有触摸事件 并且还能够看到它们的坐标 我发现的所有研究都表明我无法接收所有触摸事件并将其传递 然而 and 都在做这样
  • Android 预安装检测

    我的 Android 应用程序将被预安装 我想继续跟踪预安装的应用程序 为此 我需要以某种方式保存密钥或标志 这意味着该应用程序是预安装的 我会将此密钥添加到后端的每个请求中并对其进行分析 我对此有疑问 有一个问题是关于从 Google P
  • Windows 上本机 C++ 应用程序中的自动死代码检测?

    背景 我有一个用原生 C 编写的应用程序 花了几年的时间 大约有 60 KLOC 有很多函数和类已经死了 可能有 10 15 就像下面提出的类似的基于 Unix 的问题 我们最近开始对所有新代码进行单元测试 并尽可能将其应用于修改后的代码
  • 使用 dateTimePicker 在 DataGridView 中编辑日期

    我有一个DateTime我的 WinForms 中的专栏DataGridView 目前只能通过手动输入日期来编辑该字段 例如 2010 09 02 需要什么才能拥有一个DateTimePicker 或同等 用作编辑器 DataGridVie
  • 在Python中通过sys.stdout写入unicode字符串

    暂时假设一个人无法使用print 从而享受自动编码检测的好处 所以这给我们留下了sys stdout 然而 sys stdout太蠢了不做任何合理的编码 http bugs python org issue4947 现在人们阅读 Pytho
  • 如何使用Android Invalidate()

    在我的主要活动中 我定义了两个视图和一个菜单 浏览次数 1 自定义视图游戏 2 按钮btn 菜单 1 打开项目用于打开文件 菜单布局在不同的活动中定义 基本上 当主活动启动时 它会绘制没有任何内容的自定义视图和按钮 然后我使用菜单中的 打开
  • 从 Qthread 更新 Python GUI 元素

    所以我知道有很多关于使用 Qthread 更新 GUI 中的元素的帖子 我尽了最大努力去检查这些 但仍然有一个问题 我正在尝试创建一个 GUI 该 GUI 在单击按钮时运行一个方法 然后该方法启动一个新线程 然后该线程向 GUI 发出信号以
  • 为什么我可以使用 tsql 连接到 Azure MS SQL,但不能使用 pymssql?

    我今天在哪里 TDSVER 7 3 tsql H example database windows net U me D ExampleDB p 1433 P notreallymypassword 这不会 gt gt gt import
  • Hudson 结帐卡在“git fetch”处

    我正在使用 git 版本 1 6 2 2 1669 g7eaf8 在 Hudson 1 314 上使用 Hudson Git 插件 0 7 3 当我触发构建时 Hudson 执行 git fetch 但它永远不会返回 我把一只卡在那里14天
  • 从 C# 调用时无法识别 Powershell 命令

    这是这个的延续Question https stackoverflow com questions 66280000 powershell object returns null 66280138 noredirect 1 comment1
  • Android studio 问题:找不到广告:AdQuality:未指定

    我已经更新了 Android studio 刚刚打开我的项目 我收到以下错误 您能让我知道如何解决这个问题吗 Error A problem occurred configuring project memoryGameCollection
  • 在 python 中使用 re.sub 将字母变成大写?

    在许多编程语言中 以下内容 find foo a z bar并替换为GOO U 1GAR 将导致整个匹配项变为大写 我似乎无法在 python 中找到等效项 它存在吗 您可以将函数传递给re sub http docs python org
  • 如何通过sparkSession向worker提交多个jar?

    我使用的是火花2 2 0 下面是我在 Spark 上使用的 java 代码片段 SparkSession spark SparkSession builder appName MySQL Connection master spark ip
  • 附加之前检查数据库中是否存在 ID

    我通过选择一个带有类别的数组json decode并将它们附加到文章中 public static function setArticleCategory Request request article Article where id r
  • 将许多表转换为 Excel 列

    我创建了用于文章审阅的网络应用程序 我有一个名为 Article 的表 每个表Article有一些ArticleReview Article ArticleId ArticleTitle NumberOfComment NumberOfVi
  • 我应该增强客户端上的 Jquery Mobile 元素还是发送带有 data-enhance="false" 的增强标记?

    我有一个产品搜索 我正在发送回结果 每个结果都包含两个按钮 JQM 控制组 我一次发送 24 条记录 因此需要增强 24 个控制组 如下所示 div class submitButton linkBox div