HTML5 Web Worker

本文介绍HTML5 Web Worker的应用实例,演示如何创建并利用Worker进行后台任务处理,同时保持主线程的流畅运行。文章展示了如何通过JavaScript实现Worker对象的创建、数据通信及浏览器兼容性检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.8.3.min.js"></script>
		<script>
			//WEB页主线程;
			var worker=new Worker("js/worker.js");
			//创建一个Worker对象,并向它传递将在新线程中;
			worker.postMessage("hello world SB"); //向worker发送数据
			worker.onmessage=function(evt){    //接收Worker传过来的数据函数
				console.log(evt.data);
				alert(evt.data);
			}
			/*检测浏览器是否支持*/
			$(function(){
				if(typeof(Worker)=="undefined"){
					$("#support").html("浏览器不支持HTML5 Web Worker!");
				}else{
					$("#support").html("浏览器支持Html5 Web Worker!");	
				}				
			});
		</script>
	</head>
	<body>
		<div id="support"></div>
	</body>
</html>

onmessage=function(evt){
	var d=evt.data;
	postMessage(d);
}

worker是一个对象,通过构造函数Worker创建,参数就是一个js文件的路径;文件中的js代码将运行在主线程之外的worker线程;

var jsFileURI = JS_FILE_PATH;  // js文件路径

var worker = new Worker(jsFileURI);

worker运行在另一个全局上下文中(self),这个全局上下文不同于window,所以不能在woker中访问window和DOM;

该线程分为两种:dedicated workershared worker;dedicated worker只能被初始化它的js上下文中使用;shared worker可以在多个js上下文中使用。通常使用的worker是dedicated worker,它的工作情况可以通过chrome的调试工具查看。


视频课堂https://edu.csdn.net/combo/detail/802


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

teayear

读后有收获可以获取更多资源

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值