iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >jquery的load方法有哪些缺陷
  • 800
分享到

jquery的load方法有哪些缺陷

2023-07-05 00:07:01 800人浏览 八月长安
摘要

本篇内容介绍了“Jquery的load方法有哪些缺陷”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!jquery load方法的缺陷:1、lo

本篇内容介绍了“Jquery的load方法有哪些缺陷”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

jquery load方法的缺陷:1、load方法会自动忽略掉head、body、script标签;2、动态加载后会出现滚动条偏移的问题,只需在load方法的回调函数里面加入“$(document).scrollTop(0);”即可解决;3、由于网络延迟等问题,先执行哪句代码并不确定;4、有缓存问题;5、会出现结构破坏问题。

jquery load()方法可以帮我们把页面重复的文档部分,比如标题栏和底部信息部分。我们可以提取到一个模板html,然后通过load方法动态加载到每个页面。在使用的过程中遇到几个问题

缺陷1:load方法会自动忽略掉head、body、script标签

如果想加载head和body里面的文档内容,可以通过将内容包裹在一个div中,然后将其加载过来

script部分我们可以通过load方法的回调函数动态创建加载进来

不建议动态加载样式表,否则会出现页面闪现的问题,即页面刷新时,出现1秒钟没渲染样式的画面,然后再恢复正常画面(原因同下)

缺陷2:动态加载后会出现滚动条偏移的问题

刷新页面时。滚动条偏移。
一般情况下,我们会把script文件放在文档body最后面,避免js阻塞浏览器渲染,这就导致我们会在页面渲染完后再执行我们的load方法,动态加载的页面也就是最后才加上去的,滚动条一开始就是固定在最上面的,动态加载header部分后,滚动条会偏下,并没有回到顶部

解决

在load方法的回调函数里面加入$(document).scrollTop(0);

或者利用script标签的async属性,让js脚本异步加载,然后即可将script放在头部

缺陷3: 异步加载问题

由于load是异步触发的,以下方法中的2行代码都是同时并发执行的,由于网络延迟等问题,哪句先执行并不确定.

而id为templateId的<div id="templateId">init</div>元素又是通过load加载进来的.

如果是后面第3行的$("#templateId").html("hellow");先执行,那么由于$("#templateId")找不到(此时尚未加载完div),其实并不会执行html("hellow")操作.

function load(targetId,templateName) {
   $("#"+targetId).load(contextPath+templateName);
   $("#templateId").html("hello");
}

缺陷4: 缓存问题

由于很多浏览器为了降低请求服务器的负荷,做了同样的请求地址,从本地缓存取历史数据的优化.所以我们需要在地址后面添加一些动态后缀.

        function load(targetId,templateName) {
           var nowDate = new Date();
           var randomId = nowDate.getTime();//防缓存
           $("#"+targetId).load(contextPath+templateName+"?"+randomId);
       }

缺陷5: 结构破坏问题

在陷阱1(缓存问题)的基础上,可能还会遇到更深层次的问题,那就是当我们load加载得到的数据如果不符合<html>规范,那么就会破坏原有的dom结构,导致后续取dom和其它节点异常.

比如原有

<html>
<head>
 
 <title>test</title>
</head>
<body>
   <textarea id="mytext"></textarea>
</body>
</html>

如果load得到的数据为 <textarea><

那么最终生成了为不规则的html闭包.下次再取dom时可能取不到了,因为破坏了原有的结构

<html>
<head>
 
 <title>test</title>
</head>
<body>
   <textarea id="mytext"><textarea><</textarea>
</body>
</html>

此时我们可以改成

function load(targetId,templateName) {
           var nowDate = new Date();
           var randomId = nowDate.getTime();//防缓存
           $("#"+targetId).load(contextPath+templateName+"?"+randomId,{},function (responseTxt){
               $("#"+targetId).val(responseTxt);
           });
       }

此时生成的html元素不会作为dom节点,而是作为文本域的原始文本插入,也就没有破坏原始dom.所以下次取值还是正常的

<!doctype html>
<html>
<head>
 
 <title>test</title>
</head>
<body>
   <textarea id="mytext">"\<textarea\>\<"</textarea>
</body>
</html>

“jquery的load方法有哪些缺陷”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: jquery的load方法有哪些缺陷

本文链接: https://www.lsjlt.com/news/348722.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • jquery的load方法有哪些缺陷
    本篇内容介绍了“jquery的load方法有哪些缺陷”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!jquery load方法的缺陷:1、lo...
    99+
    2023-07-05
  • jquery load方法有什么缺陷
    本教程操作环境:windows7系统、jquery3.6版本、Dell G3电脑。jquery load()方法可以帮我们把页面重复的文档部分,比如标题栏和底部信息部分。我们可以提取到一个模板html,然后通过load方法动态加载到每个页面...
    99+
    2023-05-14
    jquery javascript
  • Percona XtraDB Cluster的缺陷有哪些
    小编给大家分享一下Percona XtraDB Cluster的缺陷有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • Python陷阱与缺陷列表有哪些
    本篇内容主要讲解“Python陷阱与缺陷列表有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python陷阱与缺陷列表有哪些”吧!比如,Python程序员应该都遇到过的“UnboundLoc...
    99+
    2023-06-02
  • Javascript中for in的缺陷有哪些
    这篇文章主要介绍Javascript中for in的缺陷有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Javascript for in的缺陷总结for in 语句用来列举对象...
    99+
    2024-04-02
  • PostgreSQL实际场景的缺陷有哪些
    本篇内容介绍了“PostgreSQL实际场景的缺陷有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!缺陷...
    99+
    2024-04-02
  • Android软件缺陷管理有哪些
    这篇文章主要介绍“Android软件缺陷管理有哪些”,在日常操作中,相信很多人在Android软件缺陷管理有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android软件缺陷管理有哪些”的疑惑有所帮助!...
    99+
    2023-06-05
  • CSS高度塌陷的方法有哪些
    本文小编为大家详细介绍“CSS高度塌陷的方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS高度塌陷的方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。   ...
    99+
    2024-04-02
  • 程序员必知的Python陷阱与缺陷列表有哪些
    程序员必知的Python陷阱与缺陷列表有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我个人对陷阱的定义是这样的:代码看起来可以工作,但不是以你“想当然“”的方式。如果一段...
    99+
    2023-06-17
  • jQuery常用的方法有哪些
    这篇文章主要介绍“jQuery常用的方法有哪些”,在日常操作中,相信很多人在jQuery常用的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jQuery常用的方法有...
    99+
    2024-04-02
  • jquery的常用方法有哪些
    jQuery的常用方法有以下几种:1. 选择器方法:用于选取DOM元素,如`$("selector")`。2. 事件处理方法:用于绑...
    99+
    2023-08-18
    jquery
  • jQuery的事件方法有哪些
    本篇内容介绍了“jQuery的事件方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!事件方法触发或将...
    99+
    2024-04-02
  • 香港VPS租用的优势和缺陷有哪些
    香港VPS租用的优势和缺陷如下: 优势: 稳定的网络环境:香港国际商业中心,拥有先进的网络基础设施和高质量的网络连接,提供稳定可靠...
    99+
    2024-04-20
    香港VPS VPS
  • jquery有哪些遍历方法
    本教程操作环境:windows7系统、jquery3.6版本、Dell G3电脑。jQuery 遍历方法总结jQuery 遍历函数包括了用于筛选、查找和串联元素的方法。方法描述add()把元素添加到匹配元素的集合中addBack()把之前的...
    99+
    2023-05-14
    jquery javascript
  • jquery导入方法有哪些
    本篇内容介绍了“jquery导入方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • javascript构造方法的缺点有哪些
    今天小编给大家分享一下javascript构造方法的缺点有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们...
    99+
    2024-04-02
  • jQuery查找dom的方法有哪些
    这篇文章给大家分享的是有关jQuery查找dom的方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先我们要用到的是console.time()和console.time...
    99+
    2024-04-02
  • jquery操作select的方法有哪些
    以下是常见的 jQuery 操作 select 元素的方法:1. .val():获取或设置 select 元素的值。例如:```ja...
    99+
    2023-08-18
    jquery select
  • Jquery的Ajax使用方法有哪些
    本文小编为大家详细介绍“Jquery的Ajax使用方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Jquery的Ajax使用方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学...
    99+
    2024-04-02
  • jquery中拓展方法有哪些
    这篇文章将为大家详细讲解有关jquery中拓展方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jquery中拓展方法$.fn是指jquery的命名空间,加上fn上...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作