前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Web Worker 调用Ajax

Web Worker 调用Ajax

作者头像
芥末鱿鱼
发布于 2022-05-05 06:27:11
发布于 2022-05-05 06:27:11
1.1K00
代码可运行
举报
文章被收录于专栏:玩转 Spring Cloud玩转 Spring Cloud
运行总次数:0
代码可运行

Web Worker -- Ajax

一般来说,Ajax 和 Web Worker 都是异步执行的,似乎没有必要在Web Worker里调用Ajax,如果存在这种情况,Ajax 需要按照一个队列里数据排列的顺序同步发送请求,如果不想页面被阻塞,这种情况下可以使用Web Worker 并且需要在Web Worker里使用Ajax。或者说非要在Web Woker里使用Ajax。 在Web Worker直接使用Ajax可能会碰到一个问题,Juery在做初始化的时候依赖DOM,而Web Worker和DOM是相互独立的,所以无法直接使用Ajax。这有2种解决方案。 第一种比较简单,使用JQuery的No DOM Edition,这里是GitHub地址: https://github.com/kpozin/jquery-nodom。可以通过这种importScripts("jquery.nodom.js")引入到当前JS文件。 第二种方法创建一个虚假的DOM对象。注意这个虚假的DOM只是允许jQuery加载下来,不能做任何DOM操作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 var document = self.document = {parentNode: null, nodeType: 9, toString: function() {return "FakeDocument"}};var window = self.window = self;var fakeElement = Object.create(document);
 
fakeElement.nodeType = 1;
 
fakeElement.toString=function() {return "FakeElement"};
 
fakeElement.parentNode = fakeElement.firstChild = fakeElement.lastChild = fakeElement;
 
fakeElement.ownerDocument = document;
 
document.head = document.body = fakeElement;
 
document.ownerDocument = document.documentElement = document;
 
document.getElementById = document.createElement = function() {return fakeElement;};
 
document.createDocumentFragment = function() {return this;};
 
document.getElementsByTagName = document.getElementsByClassName = function() {return [fakeElement];};
 
document.getAttribute = document.setAttribute = document.removeChild =
 
document.addEventListener = document.removeEventListener =
 
function() {return null;};
 
document.cloneNode = document.appendChild = function() {return this;};
 
document.appendChild = function(child) {return child;};

(想要JS文件的评论留邮箱)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JS魔法堂:元素克隆、剪切技术研究
一、前言                                     当需要新元素时我们可以通过 document.createElement 接口来创建一个全新的元素,也可以通过克隆已有元素的方式来获取一个新元素。而在部分浏览器中,通过复制来获取新元素的效率比通过 document.createElement 方式的要高一些,具体的性能比较如下: 2% in IE8, but no change in IE6 and IE7 Up to 5.5% in Firefox 3.5 and Safa
^_^肥仔John
2018/01/18
1.2K0
JavaScript DOM基础
DOM(Document Object Model)即文档对象模型,针对HTML和XML文档的API(应用程序接口)。 一.DOM介绍 DOM中的三个字母,D(文档)可以理解为整个Web加载的网页文档;O(对象)可以理解为类似window对象之类的东西,可以调用属性和方法,这里我们说的是document对象;M(模型)可以理解为网页文档的树型结构。 DOM有三个等级,分别是DOM1、DOM2、DOM3,并且DOM1在1998年10月成为W3C标准。DOM1所支持的浏览器包括IE6+、Firefox、Safa
汤高
2018/01/11
1.4K0
Javascript中的DOM节点类型
var elem = document.getElementById(‘elem_id’);
宅蓝三木
2024/10/09
660
DOM「建议收藏」
当创建了一个网页并把它加载到web浏览器中时,DOM就悄然而生。浏览器根据网页文档创建一个文档对象。
全栈程序员站长
2022/09/21
9700
DOM「建议收藏」
第八节dom以及dom库的封装
1、获取页面中元素的方法 document.getElementById() context.getElementsByTagName() context.getElementsByClassName() ie6~8不兼容 document.getElementsByName() 应用于表单中的name document.body document.documentElement context.querySelector/context.quer
河湾欢儿
2018/09/06
1.1K0
一文搞懂JS-Web-API——DOM
本章介绍 DOM 操作的知识点和题目。包括 DOM 结构,常用 DOM 操作,DOM 性能优化等。DOM 是网页结构的基础,学会 DOM 操作才可以做网页开发。
江拥羡橙
2022/11/17
5310
一文搞懂JS-Web-API——DOM
整理常见 DOM 操作
整理常见 DOM 操作 ⭐️ 更多前端技术和知识点,搜索订阅号 JS 菌 订阅 框架用多了,你还记得那些操作 DOM 的纯 JS 语法吗?看看这篇文章,来回顾一下~ ? 操作 className ad
JS菌
2019/05/06
1.1K0
JavaScript的理解记录(5)
    1、Document Object Model(DOM):是表示和操作HTML和XML文档内容的基础API;其中几个重要的类有:Document和Element,Text,这三个也是Node的其中几个子类; 
JQ实验室
2022/02/09
1.4K0
节点操作
获取元素通常使用两种方式: 1. 利用 DOM 提供的方法获取元素           document.getElementById() 
梨涡浅笑
2022/05/08
1.4K0
节点操作
关于DOM的理解
当创建了一个网页并把它加载到web浏览器中时,DOM就悄然而生。浏览器根据网页文档创建一个文档对象。
Tz一号
2020/09/10
9520
DOM
DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口)。DOM描绘了一个层次变化的节点树,允许开发人员添加、移除和修改页面的某一部分。
奋飛
2019/08/15
1.5K0
节点操作
网页中的所有内容都是节点(标签、属性、文本、注释等),在DOM 中,节点使用 node 来表示。
星辰_大海
2020/09/30
1.2K0
读Zepto源码之操作DOM
对角另一面
2017/12/27
9220
web性能优化的15条实用技巧
1.访问DOM会影响浏览器性能,修改DOM则更耗费性能,因为他会导致浏览器重新计算页面的几何变化。<通常的做法是减少访问DOM的次数,把运算尽量留在JS这一端。
徐小夕
2019/10/08
6720
【Web技术】1048- 手把手教你实现web文本划线的功能
来源 | https://www.cnblogs.com/wanglinmantan/p/15106871.html
pingan8787
2021/09/09
3610
属性 元素的内容 创建,插入和删除节点 虚拟节点
表示HTML文档元素的HTMLElement对象定义了读/写属性。映射了元素的HTML属性。HTMLElement定义了通用的HTTP属性。以及事件处理程序的属性。特定的Element子类型为其元素定义了特定的属性。
mySoul
2018/08/07
2.4K0
javaScript操作DOM
文档对象模型(Document Object Model, DOM),在控制面板中用window.document获取
河马嘴不大
2022/12/24
6090
javaScript操作DOM
HTML DOM(二):节点的增删改查
       上一篇:HTML DOM(一)        上一篇讲述了DOM的基本知识,从其得知,在DOM眼中,HTML的每个成分都可以看作是节点(文档节点、元素节点、文本节点、属性节点、注释节点,
高爽
2017/12/28
1.6K0
看Zepto如何实现增删改查DOM
本文对Zepto模块进行了分析,分别从整体架构、核心模块、使用方法和高级特性等方面进行了介绍。主要包括Zepto概述、核心模块、使用方法和高级特性等。
IMWeb前端团队
2018/01/08
2.5K0
看Zepto如何实现增删改查DOM
DOM
DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口)。DOM描绘了一个层次变化的节点树,允许开发人员添加、移除和修改页面的某一部分。
奋飛
2021/08/30
1.5K0
DOM
相关推荐
JS魔法堂:元素克隆、剪切技术研究
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文