什么是浏览器内核

浏览器内核(Rendering Engine),是浏览器最核心的部分。

它负责处理网页的HTML、CSS、JavaScript等代码,并将其转化为可视化的网页内容。即我们常说的对网页的语法进行解释并渲染(显示)网页。

不同的浏览器内核对用于网页编写的语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。五大主流浏览器及四大内核

不同的浏览器内核在性能、渲染效果、兼容性等方面可能存在差异,这也就导致了使用不同内核的浏览器会在功能上有区别,我怀疑我就遇到了这种区别。

我遇到的问题

我参加蓝桥云课的课程时,一开始用的360极速浏览器,结果在线环境加载不出来,换成了microsoft的edge浏览器后,又不能预览输入好的html代码的效果(如图1),而我换成了360安全浏览器后,就都没有问题了。



                             (图1)

我的猜想

我注意到我电脑上的360极速浏览器用的是blink内核,edge浏览器用的是开源chromium内核,360安全浏览器用的是Google Chromium内核,不同的内核兼容性不同,可能是因为不同内核导致的我的问题。这个理由似乎说的通,姑且先认为在线环境是否能加载出来是这个原因,但是预览的问题应该不是,因为有一天在我的又一次尝试中,不知怎的突然预览出效果了,而当时我并未对浏览器的设置进行改动,只是在终端上输入了killall code,于是我猜想是这行代码起了作用,可是当我退出环境,重新加载一次该环境时,那行代码输入后并没有解决问题。于是我又将关注点放在了那个与打开预览页同时出现的窗口,它上面的内容是

加载 Web 视图时出错: Error: Could not register service workers: AbortError: Failed to register a ServiceWorker for scope ('https://webide.hz-iframe.simplelab.cn/webide-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJob3N0IjoiMTcyLjE2LjU2LjIwIiwicG9ydCI6IjQ1OTk1In0.3urmHRqcs7I4rHoP3t3n_bgA-ysiU-NeHWFv5wt3SyY/stable-441438abd1ac652551dbe4d408dfcec8a499b8bf/static/out/vs/workbench/contrib/webview/browser/pre/') with script ('https://webide.hz-iframe.simplelab.cn/webide-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJob3N0IjoiMTcyLjE2LjU2LjIwIiwicG9ydCI6IjQ1OTk1In0.3urmHRqcs7I4rHoP3t3n_bgA-ysiU-NeHWFv5wt3SyY/stable-441438abd1ac652551dbe4d408dfcec8a499b8bf/static/out/vs/workbench/contrib/webview/browser/pre/service-worker.js?v=4&vscode-resource-base-authority=vscode-resource.vscode-cdn.net&remoteAuthority=webide.hz-iframe.simplelab.cn'): Worker disallowed.

其中出现了一个service workers。

对service workers的介绍

Service Workers 是一种在浏览器后台运行的脚本,可以拦截和处理网络请求、管理缓存以及实现离线功能。

因此,如果它未注册,确实会导致加载Web视图时发生问题。而这个错误提示的最后写着worker没有被允许,于是我开始在电脑上查看我的安全设置,包括edge浏览器中的所有设置我都检查了一遍,只找到了一个javascript,是开启的,和一个service workers的所有注册信息(分别如图2和图3)



                           (图2)



                           (图3-1)



                           (图3-2)



                           (图3-3)

上网搜索也没有找到能用于我电脑的设置允许workers的方式。

killall code和code --no-sandbox都无效,因此我确实不知道也无法解释预览的问题是怎么回事。

本文未完。将在作者弄清楚原因后,写完本文。

是因为不同的浏览器内核吗--Could not register service workers到底是怎么回事的更多相关文章

  1. 几大主流浏览器内核(Rendering Engine)

    "浏览器内核",英文为"Rendering Engine",也叫"渲染引擎",作用是帮助浏览器来渲染网页的内容,将页面内容和排版代码转换为用 ...

  2. 浏览器内核与js引擎

    摘要: 面试一个大公司的时候问到了一个问题,让我谈谈主要的浏览器内核以及他们的特点,当时并没有详细的回答,回来之后自己在网上找了找资料,总结了下分享给大家. 简介: 在维基百科上是这样介绍浏览器内核的 ...

  3. 各大浏览器内核(Rendering Engine)

    记得刚开始写网页的时候,听童鞋们说各大浏览器的内核,也是懵懵懂懂的,知一不知其二,今天特地查一下: 内核只是一个通俗的说法,其英文名称为“Layout engine”,翻译过来就是“排版引擎”,也被称 ...

  4. 浏览器内核、排版引擎、js引擎

    [定义] 浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“渲染引擎”,不过我们一般习惯将之称为“浏览器内核”.负责对网页语法的解释(如标准通用标记语 言下的一个应用HT ...

  5. Rendering Engine 主流的浏览器内核(排版引擎、渲染引擎、解释引擎)有哪几种,分别的特点

    一.A web browser engine A rendering engine is software that draws text and images on the screen. The ...

  6. 关于浏览器内核与javascript引擎的一些小知识

    浏览器是我们每天几乎都必须使用的软件产品,可是对于自己每天都接触的浏览器,很多同学其实对其一无所知.今天异次元就跟大家说说关于浏览器内核的一些事儿吧,好让你了解多一点稍微内在的东西. 在下面的文章中主 ...

  7. 浏览器内核之 HTML 解释器和 DOM 模型

    微信公众号:爱写bugger的阿拉斯加如有问题或建议,请后台留言,我会尽力解决你的问题. 前言 此文章是我最近在看的[WebKit 技术内幕]一书的一些理解和做的笔记.而[WebKit 技术内幕]是基 ...

  8. 静态集成腾讯TBS X5内核WebView,从微信提取新版30M浏览器内核打包进apk

    目录 前情提要 第一步:下载老版本SDK得到jar 获取SDK 集成SDK 步骤二.下载提取最新TBS X5内核 方法1:从微信中提取 方法2:App内内访问tbs调试页安装新内核 步骤三.集成内核到 ...

  9. 【repost】浏览器内核、渲染引擎、js引擎

    [1]定义 浏览器内核分成两部分渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎 渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具[2]常见引擎 渲染引擎: firef ...

  10. 各大浏览器内核介绍(Rendering Engine)

    在介绍各大浏览器的内核之前,我们先来了解一下什么是浏览器内核. 所谓浏览器内核就是指浏览器最重要或者说核心的部分"Rendering Engine",译为"渲染引擎&qu ...

随机推荐

  1. .NET Core 允许跨域的两种方式实现(IIS 配置、C# 代码实现)

    〇.前言 当把开发好的 WebApi 接口,部署到 Windows 服务器 IIS 后,postman 可以直接访问到接口并正确返回,这并不意味着任务完成,毕竟接口嘛是要有交互的,最常见的问题莫过于跨 ...

  2. 力扣 662 https://leetcode.cn/problems/maximum-width-of-binary-tree/

    需要了解树的顺序存储 如果是普通的二叉树 ,底层是用链表去连接的 如果是满二叉树,底层用的是数组去放的,而数组放的时候 会有索引对应 当前父节点是索引i,下一个左右节点就是2i,2i+1 利用满二叉树 ...

  3. Python copy & deeocopy 探究

    简单来说,copy 复制创建新的容器,而引用容器内元素的地址不变.而 deepcopy 也对容器内的容器元素进行复制. 但是这种复制具体是什么体现呢?是否只是对第一层容器元素进行了复制?写了一段代码验 ...

  4. Net 编译器平台 --- Roslyn

    引言 最近做一个功能想要动态执行C#脚本,就是预先写好代码片段,在程序运行时去执行代码段,比如像这样(以下代码为伪代码): string scriptText = "int a = 1;in ...

  5. 推荐一款.NET开源跨平台的开箱即用的DNS服务器软件

    前言 今天要给大家推荐一款.NET开源跨平台的开箱即用的DNS服务器软件(用于提供 DNS 解析服务):Technitium DNS Server. 项目介绍 Technitium DNS Serve ...

  6. vue3中使用defineExpose报TS-2339

    开头先把错误贴上 src/hooks/usePageSearch.ts:9:27 TS2339: Property 'getPageData' does not exist on type '{ $: ...

  7. 使用C#编写.NET分析器(完结)

    译者注 这是在Datadog公司任职的Kevin Gosse大佬使用C#编写.NET分析器的系列文章之一,在国内只有很少很少的人了解和研究.NET分析器,它常被用于APM(应用性能诊断).IDE.诊断 ...

  8. 我开源了团队内部基于SpringBoot Web快速开发的API脚手架stater

    我们现在使用SpringBoot 做Web 开发已经比之前SprngMvc 那一套强大很多了. 但是 用SpringBoot Web 做API 开发还是不够简洁有一些. 每次Web API常用功能都需 ...

  9. 二分查找非递归Algorithm(java)

    二分查找的适用条件 二分查找只适用于有序的数列中进行查找(比如数字和字母等),将数列排序后再进行查找 二分查找的运行时间为对数时间O(LONG2 N) 二分查找非递归的实现 /** * @param ...

  10. 1. 通俗易懂的Redis基础

    通俗易懂的Redis基础教程(基于CentOS 7) 目录 通俗易懂的Redis基础教程(基于CentOS 7) 1 Redis是什么 1.1 NoSQL概念 1.2 NoSQL与SQL比较 1.3 ...