我应该增强客户端上的 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" 的增强标记? 的相关文章

  • 修改某个类的所有html

    我有这个 p class comment date title a c p p class comment date title b b p 我想将标题放在任何元素的 html 中 所以我尝试这样做 comment date html co
  • 如何从 javascript 有效地访问 gzipped xml?

    我需要从 javascript 实际上是从 Greasemonkey 有效地访问一个大的 gzipped xml 文件 不幸的是 服务器不提供 Content Encoding 标头 并且 Content Type 是 applicatio
  • MySQL InnoDB 查询性能

    我正在尝试优化一个简单的 sql 查询 该查询将多次运行大量数据 这是场景 MySQL 与 InnoDB 表 where 和 join 中使用的所有字段都已索引 表有 FK 我不需要查询的整个缓存 但每个表的缓存是可能的 表有更多的更新 插
  • 使用map.get()时使用java Map.containsKey()是多余的

    一段时间以来 我一直想知道在最佳实践中是否允许避免使用containsKey 方法上java util Map而是对结果进行空检查get 我的理由是 两次查找值似乎是多余的 首先是查找containsKey 然后再次为get 另一方面 大多
  • javascript获取字符前的字符串

    我有一个字符串 我正在尝试提取引号之前的字符 示例是提取14 from 14 14 99 我正在使用以下代码来实现此目的 menuItem text match 0 我的问题是 如果字符串类似于 0 88 我希望返回一个空字符串 不过我还是
  • 如何使用数据表在按钮单击时显示带有列数据的确认模态

    有了下面的数据表 我想在单击按钮时显示动态弹出窗口或模式 这将用作确认模式 The modal should contain data coming from the columns in the respected row in whic
  • 如果未选中复选框,jquery 清除输入字段

    我有以下 jquery 如果选中复选框 用户可以填写表单中的其他字段 我想要的是如果未选中该复选框 则清除附加输入字段值 document ready function input checkbox attr checked false x
  • 触摸滚动 Jquery 插件 - 如何为多个实例使用不同选项进行初始化?

    正如这里所发现的 https github com neave touch scroll https github com neave touch scroll function Define default scroll settings
  • Jquery查找值为X的表格单元格

    我正在尝试寻找一个 td 其中值为 5 它是一个日历 因此只有一个 5 值 您可以使用filter https api jquery com filter method td filter function return this text
  • 获取点击元素的 HTML 内容 jQuery

    我有以下 HTML
  • 去除字符串的最佳方法是什么?

    我需要具有最佳性能的想法来删除 过滤字符串 I have string Input view 512 3 159 删除 view 和 的最佳性能方法是什么 和引号 我可以做这个 Input Input Replace view Replac
  • jquery ajax可以调用外部webservice吗?

    jquery ajax代码可以调用吗网络服务来自另一个域名或另一个网站 像这样 ajax type POST url http AnotherWebSite com WebService asmx HelloWorld data name
  • 在淘汰赛应用程序中使用 setInterval 进行轮询实现?

    我正在尝试使用 setInterval 实现简单的轮询机制 我有一个视图模型如下 define knockout jquery function ko function ViewModel var self this setInterval
  • 匹配数组中的对象并合并

    UPDATE 我有一个名为的对象数组cars包含 li 标签 其中包含有关汽车的属性数据 例如价格 汽车类型等 我的目标是 如果这些汽车符合某些标准 则将它们合并到一个列表中 要求 快速性能 保持相同的汽车数组结构 Main Goal Ma
  • Jquery 拖放和克隆

    嗨 我需要实现这个 我有一套可掉落的物品 基本上我是在服装上掉落设计 并且我正在掉落一个克隆 如果我不喜欢删除的对象 设计 我想通过执行隐藏之类的操作来删除它 但我无法做到这一点 请帮我 这是代码 var clone document re
  • 使用 jQuery 检查输入是否为空

    我有一个表单 我希望填写所有字段 如果单击某个字段然后未填写 我想显示红色背景 这是我的代码 apply form input blur function if input text is empty this parents p addC
  • jQuery id 选择器在有 .在 ID 中[重复]

    这个问题在这里已经有答案了 我的html代码如下 div class chatbox html markup which is validated div 在上面的代码中dipesh parmardiv 动态添加 我正在使用以下代码访问它
  • 如何在每个组件完成加载后在 Angular 2 中运行 jquery 函数

    我已经尝试了所有生命周期挂钩 但无法实现所需的结果 我需要的结果是触发一个函数 该函数在加载每个元素 组件 后初始化用于单个页面上不同元素的许多 jquery 插件 假设你有这个结构 主页 滑块 小部件 产品旋转器 ETC 这些元素中的每一
  • 比较表中的行以了解字段之间的差异

    我有一个包含 20 多列的表 客户端 其中大部分是历史数据 就像是 id clientID field1 field2 etc updateDate 如果我的数据如下所示 10 12 A A 2009 03 01 11 12 A B 200
  • jQuery 在 Chrome 下发现错误元素

    我使用 jQuery 迭代 HTML 表 并动态填充每行的行号 通过在文本框中填充行号 function updateRowNums myTable find tr each function index this find input i

随机推荐

  • 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