关于chrome:防止你的-Web-应用被别人通过-Chrome-开发者工具进行调试的一种简单办法

performance.now()代码中应用了 performance.now() 办法来获取高精度的工夫戳,它返回从某一时间点到以后工夫的毫秒数,不受零碎工夫的影响。在这里,startTime 和 endTime 别离记录了 debugger 语句前后的工夫点。 debuggerdebugger 语句是 JavaScript 中的一个调试关键字,当浏览器的开发者工具开启并且处于调试模式时,执行到 debugger 语句会暂停 JavaScript 的执行,并且如果开发者工具是关上的,会主动跳转到代码对应的地位,不便开发者进行代码调试。 条件判断和页面跳转代码中的 if 语句判断 debugger 语句执行前后的时间差。如果这个时间差超过了 100 毫秒,就会执行页面跳转 window.location.href = about:blank`。about:blank` 是一个空白页面,这行代码的作用是将以后页面跳转到一个空白页面。 利用场景与示例这段代码的一个潜在利用场景是避免调试。当开发者工具未关上或者不在调试模式下,debugger 语句不会产生暂停成果,因而 startTime 和 endTime 的差值很小,简直靠近于执行 performance.now() 办法自身的耗时。然而,如果有人试图应用开发者工具来调试这段代码,debugger 语句会使得代码执行暂停,直到开发者手动继续执行,这将导致 startTime 和 endTime 的差值明显增加,超过 100 毫秒的阈值,触发页面跳转到空白页面的逻辑。 这种机制能够用来阻止或限度普通用户或者一些自动化工具通过开发者工具对网站进行调试或剖析。比方,在一些在线考试、视频播放或付费内容的网站上,开发者可能不心愿用户通过调试工具绕过某些限度或者扭转网站的失常行为。 总结以上剖析展现了这段代码如何利用 setInterval、performance.now()、debugger 语句和条件判断相结合,实现了一个简略而奇妙的防调试性能。这不仅体现了 JavaScript 语言的灵活性和功能性,也揭示了网站开发者在设计网站性能和安全措施时,须要全面思考各种可能的用户行为和对策。 通过这个例子,咱们能够看到 Web 前端技术的弱小能力,以及作为开发者须要把握的各种技术手段来满足不同的业务需要和解决问题的能力。同时,也反映了在古代 Web 利用的开发过程中,安全性和用户体验的重要性,以及如何通过技术手段来均衡这两者之间的关系。

February 24, 2024 · 1 min · jiezi

关于chrome:用ChatGPT做一个Chrome扩展-京东云技术团队

用ChatGPT做了个Chrome Extension最近科技圈儿最火的话题莫过于ChatGPT了。 最近又公布了GPT-4,发布会上的Demo着实吸睛。 笔记本上手画个网页原型,间接生成网页。网友直呼:前端就业了! 但我觉着啊,真就在行看热闹,外行看笑话。尽管ChatGPT很弱小,但没有通过针对某个畛域自定义化过的模型真就没啥用。。。 就比方写代码这事儿,我觉着还不如GitHub的Copilot用着不便。 回归咱们的主题,明天咱就蹭蹭热度,用ChatGPT的API做个Chrome Extension。 说实话,开始还真没想到能用ChatGPT做点儿啥,起初看过一些视频,发现用它来做翻译比拟好,感觉没有以往的翻译软件僵硬。甚至你能够让他模拟某位巨匠的格调去翻译。惊了! 我就想,是不是能够把他和Chrome Extension组合下,来个划词翻译。 开干咱们能够用官网提供的脚手架疾速起一个ChatGPT利用: git clone https://github.com/openai/openai-quickstart-node.git运行前你须要去openai生成一个OPENAI\_API\_KEY! 它是一个Next利用,运行起来是一个给宠物起名字的页面,你能够输出动物名称,他会生成相应的名字。 咱们看下源码实现,上面这段比拟要害: const completion = await openai.createCompletion({ model: "text-davinci-003", prompt: generatePrompt(req.body.animal), temperature: 0.6,});text-davinci-003是应用的模型,他是专门用来解决语言相干的模型: 有趣味能够看官网文档对Text Completion的解释。 temperature是一个0-2之间的系数,用来示意后果的贴合度,越大后果就越发散,越小就越针对你的问题。 prompt这里比拟要害,就是发问的艺术了。你对问题的形容越具体,它的反馈就越贴近你想要的。 示例代码给咱们打了个样儿: function generatePrompt(animal) { const capitalizedAnimal = animal[0].toUpperCase() + animal.slice(1).toLowerCase(); return `Suggest three names for an animal that is a superhero.Animal: CatNames: Captain Sharpclaw, Agent Fluffball, The Incredible FelineAnimal: DogNames: Ruff the Protector, Wonder Canine, Sir Barks-a-LotAnimal: ${capitalizedAnimal}Names:`;}咱们要做的是划词翻译,这里咱们改一下: ...

September 1, 2023 · 1 min · jiezi

关于chrome:怎样才能搭建好一套受私募机构及操盘员使用的程序化金融量化交易系统

私募机构和操盘员在金融市场中扮演着重要的角色,他们的交易决策和操作对于投资者的回报至关重要。随着科技的迅猛发展,越来越多的私募机构和操盘员开始借助程序化金融量化交易系统进步交易效率和风险管理能力。在过来的几年里,也亲身经历了搭建一套受私募机构及操盘员应用的程序化金融量化交易系统的过程,通过一直学习和实际,总结出了一些教训和教训。首先,一套好的程序化金融量化交易系统须要有稳固的数据源和欠缺的数据处理能力。在搭建零碎之前,须要破费了大量的工夫和精力去寻找牢靠的金融数据供应商,以确保零碎获取精确、实时的市场行情数据guweng22346。同时,也投入了大量资源来构建数据处理模块,对原始数据进行荡涤、整顿和转换,以便后续的剖析和建模。其次,一个好的程序化金融量化交易系统须要具备弱小的算法模型和策略回测能力。在搭建零碎之前,团队中的钻研人员通过多年的钻研和实际,积攒了丰盛的量化交易教训和模型。将这些算法模型和策略利用到零碎中,通过回测和优化,不断改进和欠缺交易策略。同时,也须要重视零碎的实时监控和危险管制,尽量减少潜在的危险和损失。此外,一个好的程序化金融量化交易系统须要具备敌对的用户界面和交易执行能力。在搭建零碎的过程中,特地重视用户的体验和需要,设计了简洁、直观的界面,不便用户进行交易策略和操作。也重视零碎的稳定性和可靠性,确保交易执行的准确性和及时性。预警平台是程序化金融量化交易系统中的重要组成部分之一。它能够帮忙私募机构和操盘员及时发现并解决潜在的危险和机会。预警平台通过监控各种市场因子和指标,设置相应的预警因子来实现。预警因子能够依据用户的需要和交易策略进行设置,比方价格稳定、交易量变动、财务数据等。当市场因子达到或超过预警因子时,零碎将主动触发预警信号,告诉用户进行相应的操作。通过设立无效的预警因子,私募机构和操盘员能够及时调整交易策略,升高危险,进步回报。总之,搭建一套受私募机构及操盘员应用的程序化金融量化交易系统是一个简单而粗疏的过程,须要全面思考市场数据、算法模型、交易执行和预警平台等多个方面。通过一直学习和实际,团队积攒了丰盛的教训和教训,造成了一套无效的搭建办法和流程。在将来的倒退中,技术团队将持续致力于优化和欠缺程序化金融量化交易系统,为私募机构和操盘员提供更好的服务和反对。

August 21, 2023 · 1 min · jiezi

关于chrome:BNB-Greenfield-Chad-Camp与-4EVERLAND-一起探索绿地测试网络和生态

咱们很快乐地发表一项开创性的流动“Greenfield Chad Camp”,旨在通过 4EVERLAND Hosting 摸索 Greenfield 测试网络和经济——4EVERLAND Hosting 是一款当先的应用程序,在革命性的 Greenfield 网络上提供一流的托管服务。作为该畛域的先驱,咱们向有趣味在 Greenfield 测试网络上部署网站和我的项目的用户以及违心为翻新的去中心化数据存储生态系统的倒退做出奉献的用户收回邀请! 绿地及其效益在区块链技术的反对下,BNB Greenfield 是一个去中心化的生态系统,容许用户和去中心化应用程序 (dApp) 生产、存储和共享数据,并领有齐全的所有权、控制权和经济处分。它利用智能合约进行数据拜访和货币化,并利用权利证实(PoS)共识机制来提供更加环保和去中心化的数据存储解决方案。BNB Greenfield 抉择先进的加密协议,例如零常识证实 (ZKP) 和扩散的节点网络,以提供最佳的安全性、隐衷性和对数据拜访的管制。 Greenfield 因其无可比拟的技术和尖端性能而成为终极数据存储解决方案。正如咱们最近的文章中具体介绍的,Greenfield 领有一个去中心化的数据存储网络,可提供更高的数据安全性、耐用性和可拜访性。此外,它还提供跨平台反对以及与其余平台的集成,确保无缝我的项目迁徙和加强的性能。 咱们正在寻求什么本次流动的次要目标是推动 4EVERLAND 成为 Greenfield 网络上卓越托管服务的首要应用程序。咱们渴望吸引开发者和用户,激励 BSC 生态系统我的项目应用最先进的 4EVERLAND 平台集成其网站的前端。 此外,咱们心愿创立一个凋谢的间接反馈渠道,并营造一个合作环境,容许分享独特的想法,以改善绿地反对。 要加入此流动并充分利用其提供的泛滥机会,只需执行以下工作: 成为晚期采纳者和先驱,应用 4EVERLAND Greenfield 托管服务在 Greenfield 测试网络上部署您的网站/我的项目。关注咱们的Twitter,退出咱们的Telegram和Discord。分享您的创意和反馈,独特为增强绿地反对做出奉献。加入咱们的 AMA 会议(敬请关注),参加无关 Greenfield、其劣势及其对市场的重要性的精彩探讨。预期处分和注意事项独家NFT(追溯处分)50 名侥幸获奖者将在随机抽奖中分享 50,000 个 T4EVER 代币与咱们一起踏上一段迷人的旅程,通过 4EVERLAND 和 Greenfield 深刻摸索去中心化数据存储和托管服务的将来。成为塑造翻新生态系统的踊跃贡献者,以扭转咱们的数据管理教训。与此同时,重要的是要记住,Greenfield 目前正处于测试阶段;可能会产生潜在的数据革除。因而,备份数据并采取必要的预防措施以保证数据受到爱护至关重要。 在咱们实现残缺性能的过程中保持联系,让咱们独特推动去中心化托管社区的成长和倒退! 对于4EVERLAND4EVERLAND是一个基于区块链技术的Web3基础设施,为开发者提供便捷、高效、低成本的存储、网络和计算能力。致力于帮忙开发者从Web2.0平滑过渡到Web3.0,构建对Web2.0敌对的Web3.0云计算平台。 Website | Twitter | Telegram | Discord | Reddit | Medium | Email ...

June 27, 2023 · 1 min · jiezi

关于chrome:实战2023最新注册海外谷歌账号弹出错误提示此电话号码不能验证的成功解决办法亲测有效

注册谷歌账号遇到国内手机号不能用于验证,很多同学在注册谷歌账号时常常会遇到这个问题,谷歌无奈给手机号发验证短信,注册始终卡在电话号码验证上,是国内手机号不能通过谷歌的验证吗? 2023注册谷歌账号根本都不是号码自身引起的,换新号码往往也没用,这里介绍几个靠谱的Gmail邮箱注册教程: 网上很多办法不能注册胜利,阐明目前应用的网络IP品质不行,须要找一个污浊的IP。 什么是污浊的IP?简略的讲就是这个IP用的人越少越好。谷歌是否申请胜利最要害的不是用哪个国家的手机号,而是须要一个污浊的IP,申请之前咱们首先须要确认谷歌注册手机号无奈进行验证两种状态。 状态①:“无奈用于验证”阐明手机号之前没有注册过谷歌这种比拟好解决只须要依照上面的办法操作即可。 状态②:“屡次用于验证”阐明手机号之前注册过谷歌或者尝试很屡次,须要冷却。注册过等一个月/没有注册过等三天左右,这个状态不要再进行尝试,注册不了。  目前网上绝大部分解决谷歌注册手机号无奈进行验证显示“此电话号码无奈用于进行验证”的教程都是以下两种: 办法一:通过QQ邮箱APP注册。这种办法很简略在这里就不做过多介绍,然而不是很倡议通过这种渠道注册。 具体起因是:因为国内网络限度,不借助上网工具是不能拜访google的,那为什么通过QQ邮箱可能拜访,是因为APP自带的联网工具,然而每天通过这个APP的单个IP去注册的用户能够说是成千上万,势必多账户关联引起谷歌的非凡关照,咱们接到反馈很多小伙伴注册胜利几个小时就报异样了。 办法二:切换chrome浏览器的语言实现注册。 这种办法还是有小伙伴注册不胜利,通过自己实战前后加起来注册了20000+个谷歌号总结出的教训,谷歌号是否注册胜利最要害不是应用什么语言,也不是应用哪个国家的手机号决定的,而是须要的是一个污浊的网络IP。 上面就给大家分享一下这种办法容易被疏忽的步骤。 ①首先须要做的是分明浏览器的历史记录 【重点】这里很要害容易被疏忽,这里须要抉择高级保障浏览器的所有缓存全副被清理洁净,清理后敞开浏览器器 ②【重点】首先链接到一个应用人数较少的代理网络,在开始注册谷歌账号之前先应用IP查问工具,查问你当初所接入网络的所在国家。 ③点击chrome浏览器右上角的菜单按钮→抉择“设置”→高级→语言→增加日语并置顶同时移除其余语言 【重点】如果通过查问你的IP是其余国家,就增加相应国家的语言即可。我这里的IP是日本,所以我就把浏览器设置成日语,网上的教程都是间接叫设置成英语。 ④【重点】实现这个步骤当前再次革除浏览缓存,并敞开浏览器,⑤再次关上chrome浏览器进入谷歌主页点击右上角蓝色注册按钮,顺次操作即可。即可注册胜利。 及时获取最新谷歌技巧,可参进公众号:Mac的实验室 回复 谷歌 几分钟就搞定了。我是数码博主苟日新,奇技淫巧,软件操作,暗藏性能,逆天神器,什么都写!

June 26, 2023 · 1 min · jiezi

关于chrome:Chrome浏览器的自动播放限制策略

客户:为什么明明我设为自动播放了,却无奈自动播放?我:#@$%^#~客户:为什么其余浏览器能够自动播放,Chrome浏览器不能主动播,您们产品有问题...我:^$&^(&^(*% 好吧,我终于找到本源了,分享给大家:摘录1:Chrome自动播放限度的考量As you may have noticed, web browsers are moving towards stricter autoplay policies in order to improve the user experience, minimize incentives to install ad blockers, and reduce data consumption on expensive and/or constrained networks. These changes are intended to give greater control of playback to users and to benefit publishers with legitimate use cases.———————————————— 正如您可能曾经留神到的,Web浏览器正在朝着更严格的自动播放策略倒退,以改善用户体验,最大限度地缩小装置广告拦挡程序的动机,并缩小低廉的数据流量耗费。这些更改旨在为用户提供更大的播放控制权,并使领有非法用例的视频发布者受害。 摘录2:Chrome的自动播放政策Chrome's autoplay policies are simple:Muted autoplay is always allowed.Autoplay with sound is allowed if:The user has interacted with the domain (click, tap, etc.).On desktop, the user's Media Engagement Index threshold has been crossed, meaning the user has previously played video with sound.The user has added the site to their home screen on mobile or installed the PWA on desktop.Top frames can delegate autoplay permission to their iframes to allow autoplay with sound.———————————————— ...

May 31, 2023 · 1 min · jiezi

关于chrome:国内直接使用chat-GPT最简单的方法

因为一些起因在国内应用chat GPT有肯定的艰难,因而也呈现了不少代注册服务,但步骤还是有些许繁琐并且随时面临被封的危险。 如果感觉注册原版chat GPT太费劲费劲的话,其实能够用一用国内的。目前我正在用的是WeTab新标签页里的Chat AI小组件,只须要在浏览器内装置WeTab新标签页插件就能够用。 装置步骤搜寻WeTab新标签页官网依据本人的浏览器抉择Chrome/Edge/Safari入口装置WeTab新标签页 装置好后,在主页就能看到Chat AI小组件,点击即可应用,不必注册、不必付费更不必魔法。 Chat AI小组件左侧是6个chat GPT源,可能会挂,然而保护还算及时,如果一个挂了换其余的用就行了。你也能够自定义源,上面咱们轻易选一个源对它进行发问,看看它答复得如何。 另外还有一个Chat AI的选项,是Wetab新标签页本人的GPT,须要登录WeTab账号才能够用,但也是收费的。 同样的,咱们也对它提一个问题,看看它的答复。 应用体验响应速度较快,答复反对分割上下文,稳固且随时可用,反对答复各个领域的问题。 以上就是我举荐的能够在国内应用chat GPT的办法,心愿有所帮忙。

May 9, 2023 · 1 min · jiezi

关于chrome:新版谷歌-Chrome-取消对-PPAPI-插件支持后浏览器网页打开编辑保存微软-Office金山-WPS-文档解决方案

最近陆续看到一些大学发布公告,谷歌 Chrome 勾销了对 PPAPI 插件反对,导致某些在线 Office 厂家产品将无奈在谷歌 Chrome107 及以上版本运行,被迫更换 360 浏览器或者应用低版本 Chrome 浏览器苟延残喘。  2015 年以前:在在 Chrome 45、Firefox 53 以下版本的浏览器中,一些 Office 厂家在浏览器反对的 NPAPI 插件中再调用 ActiveX 控件来申请桌面 Office 软件的自动化接口,能够实现对微软 Office、金山 WPS 的在线浏览保留编辑等操作。 2015 年之后:Chrome、Firefox 等浏览器相继勾销对 NPAPI 插件反对,一些 Office 厂家基于 Chrome 浏览器 PPAPI 可信插件技术公布的新版可用于兼容 44 以上版本,并通过在零碎驱动层拦挡并批改浏览器启动参数解决了 PPAPI 可信插件必须通过命令行启动浏览器才反对的技术难题,然而销售价格绝对较贵,并且微软对系统驱动程序治理越来越严格,数字签名证书是由期限的,一旦过期就很麻烦,早在 2021 年初谷歌 Chrome 就勾销了对 Flash Player PPAPI 插件的反对。 2022 年当前:2022 年 Chrome 也终于勾销了对 PPAPI 插件的反对,而采纳 PPAPI 插件技术的计划也彻底退出在线 Office 舞台。而猿巨匠办公助手因为不依赖任何浏览器的插件接口,进而彻底解决了新版谷歌 Chrome 勾销对 PPAPI 插件反对后,浏览器网页关上编辑保留微软 Office、金山 WPS 的问题,成为在线 Office 计划的终极解决方案。  ...

March 22, 2023 · 1 min · jiezi

关于chrome:谷歌-Chrome107-版停止支持-PPAPI-插件在线Office不能用了OAERP-厂商何去何从

2022 年 10 月 25 日,谷歌公布 Chrome107 版浏览器,终止反对所有平台上的 NaCL、PNaCL 以及 PPAPI 接口,而一些依赖 PPAPI 插件接口的一些在线 Office 产品也彻底不能在最新 Chrome 上利用,只能抉择在 360 浏览器或者低版本 Chrome 上应用,然而低版本浏览器不仅破绽多,禁止浏览器降级也不是一般计算机小白能做到的。猿巨匠办公助手是基于猿巨匠中间件的内嵌网页技术,把微软 Office、金山 WPS 等办公软件无缝嵌入到浏览器中,不仅反对最新版的 Chrome、Firefox、Edge、Brave、Vivaldi、Opera、IE、Electron 等浏览器,也反对 360、QQ、搜狗、微信网页、华为等国产浏览器内嵌到网页中应用。 猿巨匠办公助手官网:http://www.yuanofficer.com/ 1、反对微软 Office 2007 及以上的安装版,金山 WPS 2013 及以上的企业版及个人版,以及永中 Office 专业版等,尤其是电脑同时装置了不同品牌的 Office 软件时也能失常加载应用,而且除了反对惯例的 OLE 嵌入形式之外,还有残缺嵌入模式,反对文档比照等性能。2、不依赖任何浏览器的插件接口,浏览器的降级不会导致技术计划生效或应用体验大幅度降落,可防止因技术起因导致只能购买其它产品再做集成的状况产生,可躲避技术决策人的选型谬误危险;3、提供了二种嵌入形式,市场上其它同类产品往往只提供 OLE 形式的嵌入实现,不反对文档比照等性能,猿巨匠办公助手除了提供 OLE 形式嵌入之外,同时提供了残缺嵌入形式,蕴含了办公软件自身的全副性能,开发接口也反对文档比照,并且载入速度更快、兼容性更好,切换文档关上时体验更好;4、性能和开发接口丰盛,蕴含切换打开文档、合并文档、书签操作、无缝集成电子印章、全屏编辑、追踪批改记录、本地及网络文档关上和保留、文档另存及批量打印、文档比照、水印设置等性能,打开文档时还反对只读关上、只订正、只批注、平安模式等限度编辑模式,反对各种场景应用。

March 22, 2023 · 1 min · jiezi

关于chrome:记一款可以完美运行油猴脚本的手机浏览器

油猴插件应该都不生疏了,Chrome中的油猴插件无所不能,能用到手机上那可就太香了。 尽管当初曾经有不少反对油猴的手机浏览器了,然而用过了几款之后,我还是抉择留下了狐猴浏览器。不为别的,就图一个不便和难看。 狐猴浏览器介绍:这是我近半年来始终在应用的手机浏览器,尽管中途也有尝试过其它的,但最初都还是回归了狐猴。 内置Infinity新标签页,自带明码管理器、适配简直所有网页的暗黑模式、多种搜索引擎、网页内查找、网页翻译等各个浏览器或有或无的性能。 油猴插件:如果你用过狐猴,应该就能领会到狐猴浏览器在插件装置上比其余浏览器更不便。只须要点击菜单栏的四个小方块形态的按钮,就能够进入edge扩大商店,搜寻Tampermonkey,而后装置。 装置好当前,你能够从上拉的扩大窗口中看到油猴的图标,点击能够进入插件的更多操作。 抉择【增加脚本】,有四种增加的形式,我举荐到Greasy fork网站找脚本间接装置。 脚本装置好后能够到【治理面板】里查看脚本状况。 我倡议不必的脚本要及时敞开或者删除,免得影响浏览器自身的性能。 脚本举荐:西方永页机大部分网页在内容过多的状况下都须要翻页,装置了这个脚本再次关上网页,就算内容再多,也能够始终往下滑,永不翻页。 文本选中复制这个脚本能够让有些网页本来不能复制的内容轻松被复制。 HTML5视频播放器加强脚本装置这个脚本后,能够实现所有H5视频网站上的视频倍速播放、画中画等加强性能。 还有各种性能的脚本,只须要搜寻装置即可,这些脚本在狐猴上运行都非常晦涩。 总的来说,狐猴浏览器对于油猴脚本的反对度令我惊喜,并且整个装置和应用逻辑都和电脑浏览器十分相似,但同时又良好地适配了手机竖屏。

March 20, 2023 · 1 min · jiezi

关于chrome:Spring-Boot-|-集成MapStruct实现不同类型Java对象间的自动转换

MapStruct简介 MapStruct is a code generator that greatly simplifies the implementation of mappings between Java bean types based on a convention over configuration approach.The generated mapping code uses plain method invocations and thus is fast, type-safe and easy to understand.—— 引自MapStruct官网 MapStruct是一个开源的代码生成器,极大地简化了从一种Java对象到另一种Java对象的转换过程。MapStruct罕用注解 注解阐明@Mapper用于标注Mapper接口,MapStruct依据接口定义主动生成Mapper实现类。@Mapping用于标注接口办法或者参数,批示源属性与指标属性之间的映射关系。能够通过source和target属性指定源和指标属性的名称。@Mappings用于标注多个@Mapping注解,不便在一个接口办法中定义多个属性的映射关系。@Mapper注解罕用属性: componentModel属性:默认值为default。在Spring我的项目中通过主动注入的形式应用MapStruct Mapper类,须要将componentModel属性的属性值改为spring。unmappedTargetPolicy属性:指定指标对象中未映射属性的解决策略。默认为IGNORE,示意疏忽未映射的属性。其余可选值包含WARN、ERROR和REPORT。 集成MapStruct增加MapStruct依赖批改pom.xml文件,增加如下代码:...<properties> <java.version>1.8</java.version> <lombok.version>1.18.24</lombok.version> <mapstruct.version>1.5.3.Final</mapstruct.version></properties>...<dependencies> <dependency> <groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></dependency> <dependency> <groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId><version>${mapstruct.version}</version></dependency></dependencies>...<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> <annotationProcessorPaths> <path> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${mapstruct.version}</version> </path> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </path> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok-mapstruct-binding</artifactId> <version>0.2.0</version> </path> </annotationProcessorPaths> </configuration></plugin></plugins></build>复制代码阐明: ...

March 13, 2023 · 2 min · jiezi

关于chrome:chrome-暗黑模式

在网址栏输出 Chrome 彩色模式指令: chrome://flags/#enable-force-dark点击 Enter 键后就进入 彩色模式配置页: 抉择 Enabled with selective inversion of non-image elements,重启chrome 参考:https://zhuanlan.zhihu.com/p/...

February 7, 2023 · 1 min · jiezi

关于chrome:谷歌亮蓝气问题定位操作指引

1、下载并装置chrome浏览器,下载链接,如果已装置疏忽此步;2、关上出问题的网页,并关上开发者工具 3、关上recorder录制面板,并进行录制页面操作,具体步骤如下: 4、录制完结后,导出录制文件,将文件提供给开发人员定位具体问题

January 16, 2023 · 1 min · jiezi

关于chrome:在Chrome浏览器中即使img-crossOriginanonymous也会被同源策略拦截

在一次开发中,遇到了生成海报的需要:在图片相册界面用户抉择若干张图片,在海报编辑界面用户通过拖动这些图片生成一张海报,供用户下载。 在图片相册界面,图片均展现失常且无报错产生。当用户抉择若干张图片之后,进入海报编辑界背后,增加cors属性<img crossOrigin=anonymous>从新加载这些图片,以便canvas解决这些图片数据(图片增加cors属性起因)。神奇的是:所有的图片均无奈显示,报错 `......has been blocked by CORS policy: NoAccess-Control-Allow-Origin header is present on therequested resource.`,原来被浏览器的同源策略拦挡了。 这些图片寄存在Amazon S3,都配置了容许跨域拜访。增加了cors参数的img不应该被同源策略拦挡,而无奈显示。 形象问题,并探索增加图片的办法: const appendImage = (imageUrl, crossOrigin = 'anonymous') => { const image = document.createElement('img') if (crossOrigin) image.crossOrigin = crossOrigin image.src = imageUrl document.body.append(image)}当在Chrome浏览器中增加全新的图片时,显示失常: 清空浏览器缓存之后,当在浏览器中加载须要cors属性的图片时,显示失常: 清空浏览器缓存之后,当在浏览器中增加该图片时,显示失常;增加cors属性而后加载该图片时,无奈显示: 通过Response Headers能够看到:因为没有响应Access-Control-Allow-Origin字段,被浏览器的CORS策略拦挡了。 初步论断:通过以上三个景象能够得悉,开发需要时的异常现象应该与Chrome浏览器的缓存无关。 起因通过查问相干文档,发现早在2014年就有人给chromium提出issue:图片资源(url)会缓存在浏览器中,下次访问雷同的图片资源(url)时,返回被缓存资源的response。 联合下面的开发需要,能够得出起因: 图片相册界面中的图片,均以未增加cors属性的形式申请,response返回无跨域头的数据,加载之后便被浏览器缓存;海报编辑界面中的图片,均以增加cors属性的形式申请,浏览器返回已有的缓存数据;因为缓存数据无跨域头,导致以增加cors属性的形式申请的图片资源,被浏览器的同源策略屏蔽掉。然而Chromium的开发团队将该问题标记为WontFix(Closed),可能是因为比拟合乎Chromium引擎的预期行为。 解决方案在得悉起因之后,便着手解决方案:为图片url的search局部增加一个字段,用来辨别无cors属性的申请。 const appendImage = (imageUrl, crossOrigin = 'anonymous') => { const image = document.createElement('img') let src = imageUrl if (crossOrigin) { src = new URL(src) src.searchParams.append(`cors-type`, crossOrigin) src = src.toString() image.crossOrigin = crossOrigin } image.src = src document.body.append(image)}批改appendImage函数之后,再次申请图片,有无cors属性的图片均展现: ...

November 30, 2022 · 1 min · jiezi

关于chrome:Chrome浏览器内置Google翻译失败的解决方案

Google发表在中国进行提供翻译服务,本来的网址(translate.google.cn)换成了一般的Google Search搜查页面,中国用户在应用Chrome浏览器和KOReader文件阅读器时,将无奈应用翻译性能。官网称“Google曾经进行了Google翻译在中国大陆地区的服务,起因是‘因为使用率低’。 解决方案1、获取Google国内IP关上控制台(win+R),输出 cmd ,关上命令行窗口 输出 ping google.cn ,这里的 144.250.66.34 就是要的Google国内IP地址。 2、批改hosts文件在Windows零碎的状况下,关上零碎盘符:\Windows\System32\drivers\etc\hosts文件。 在最上面增加以下内容并保留。 #复原对Google翻译API的拜访144.250.66.34 translate.googleapis.com144.250.66.34 translate.google.com3、重启 Chrome

October 9, 2022 · 1 min · jiezi

关于chrome:Video-Roll升级一款小众浏览器插件优化你看视频的体验

一、前言首先介绍下Video Roll,这款浏览器插件目前曾经有超过1000+用户在应用,齐全开源,零差评。 那么咱们来介绍下这款小众插件到底是做什么的。 二、Video Roll解决的问题首先我整顿了一下PC平台的网络视频存在哪些问题: 1.视频方向不对大部分视频网站默认的比例是16:9的视频,按理说是横屏播放的,也就是宽占16,高只占9。然而咱们有时会看到上面这种视频: 这样的视频很显著应该是个竖屏视频,宽高比例正好相同,然而因为作者在上传视频时没有调整方向,所以就呈现了下面这种景象。于是乎弹幕就有很多人说脖子都歪疼了。当然也可能存在镜像翻转的问题,但镜像个别不太影响观看体验。横竖相同的状况是最影响观看体验的。 2.视频拉伸除了方向问题,某些视频还存在比例失衡的问题。也就是所谓的被适度拉伸,导致看上去视频内容变形。 3.视频黑边视频黑边通常是视频内容没齐全占满容器导致的,这种是否影响观看体验取决于视频的内容以及黑边大小。有些视频内容区域太小,黑边太大。 三、Video Roll的解决方案因为古代浏览器的视频根本都是基于HTML5的<video>标签来实现的,你所能见到的各大视频网站,例如Youtube、Bilibili、Viemo、Tiktok等等,无一例外。那么咱们就间接从Video标签上下手。 置信做过前端的同学应该都会想到,间接应用CSS的transform属性就能解决这些问题。没错,Video Roll就是间接通过transform搞定的。Video Roll通过transform中3d和2d两种变形成果同时存在的形式,同时加上一些简略的算法,实现了完满的解决方案。 1.方向问题方向间接通过transform: rotate就能搞定,在应用层面,用户只须要点一下即可。 尽管原理简略,然而存在一个问题,就是旋转后视频的大小还是没有发生变化,因为视频外有一层容器,那么视频必定就会被遮挡而无奈显示齐全,就像上面的成果。 所以咱们还须要应用scale属性来进行肯定的缩放,而这个缩放的数值就须要通过视频大小和容器大小来进行肯定的计算而失去。通过videoWidth和videoHeight以及offsetWidth和offsetHeight来进行宽高比例缩放的计算。通过计算后,最终的成果如下: 因为旋转缩放后,rotate和scale属性曾经被占用,这时如果咱们还须要镜像翻转怎么办呢?也只须要点一下即可。 实现层面则是再加上rotate3d或scale3d即可,这样他们将同时失效。 2.拉伸问题因为拉伸问题程序无奈主动判断,所以将交给用户本人设置,即通过scaleX和scaleY来解决,用户只须要拖拽即可。 3.黑边问题黑边问题实质上是视频的大小不对,同样通过scale即可解决。 4.反复配置问题最初Video Roll还思考到了如果用户第二次再关上雷同的视频,难道又要反复设置一次吗?当然不须要,咱们只须要保留对该视频的配置即可,当我下次关上雷同的视频时,便会主动失效。 四、总结其实Chrome商城有一些相似的插件,这里举荐两个能用的: Video RotaterVideo TransformerVideo Rotater比Video Roll早公布,我也是在用了它之后,发现存在一些问题,决定本人写一个。Video Transformer则是比Video Roll晚公布,没有交互界面,以快捷键操作为主,绝对麻烦。 Video Roll诞生的初衷只是为了不便我本人看某些视频时的体验,但笔者想到肯定会有很多人有雷同的问题,于是抉择了公布为浏览器插件,并且开源了进去。 五、欢送退出因为公布后用户量始终在减少,当初周活用户曾经超过了1K,Video Roll可能会持续保持更新,提供更多优化视频体验的性能,心愿能做成一个All in one的插件,当你在PC端看视频时,只须要这样一个插件即可满足大部分需要。也心愿有趣味的敌人能够和我一起来欠缺这个插件。 目前插件是基于Typescript、Parcel和Vue3构建的,UI库是Vant。下一步心愿优化插件构建的工具链、提供第三方库和脚本、以及重构官网。 Github: https://github.com/VideoRoll/...官网:https://gomi.site/VideoRollChrome商城:https://chrome.google.com/web...

October 3, 2022 · 1 min · jiezi

关于chrome:为啥很多人喜欢想天浏览器看到这些优势你就知道了

说起本人钟爱的浏览器,许多人脑海中跳出的外国浏览器是谷歌,火狐和微软Edge,随后又跳出了国内的搜狗,360极速和想天浏览器。 而在最近一段时间,国内用户对浏览器的抉择也变得更加多元化,越来越多的人喜爱用本人喜爱的浏览器上网浏览信息和收发邮件。这其中有什么法则?有哪些特点?咱们发现许多人都开始偏差于用小众浏览器, 想天浏览器之所以成为小众浏览器并被如此多的用户所青睐,请看上面的长处就能明确。 一,安全性高,稳定性好,浏览器的应用体验好 许多用户在应用浏览器时都在谋求浏览器具备更高的安全性和稳定性。 在互联网时代,如何让浏览器更好地服务于本人的工作和生存呢?这就要求咱们必须理解浏览器的个性,把握其安全漏洞并进行及时无效的防护。 首先,浏览器的隐衷平安和数据安全失去了保障,不会呈现欺诈网站或网络钓鱼陷阱; 稳定性是掂量一个浏览器好坏的重要指标之一,它间接影响到用户的浏览工夫和品质。再次,稳定性高的浏览器在运行过程中不会呈现卡顿景象。最初,性能好的浏览器会给用户带来更好的体验。通过对这些问题进行剖析钻研,最终找到解决方案。想天浏览器应用Chromium内核进行开发,功能强大的内核反对进步浏览器运行稳定性,使浏览器运行更加快捷和平安。 二,无广告界面设计简洁好看。 本浏览器为纯浏览器,网页搜寻内容开启,无广告弹窗。而其独有的“无插件”技术使用户不用装置任何插件就能实现各种性能。这也正是它在泛滥浏览器中怀才不遇的起因之一。它具备无插件,平安高效,简略易用等特点。无广告劣势精彩,使用户免受广告烦扰。另外,其界面简单明了,地址栏加搜寻栏加罕用网址设置,使用户清晰明了,迅速获取所需材料。 三,个性化设置 想天浏览器可能预设壁纸、自定义背,用户可能依照本人的偏好,做出个性化的设置。在装置了浏览器之后,你就能轻松地定制出属于本人的共性格调。其实,这也是一种很简略的办法:把浏览器中的各种性能都用上吧!一起来看看吧!例如设定你青睐的背景、可通过单击服装上的符号来设定背景、也可设定背景含糊度、以及可调整背景亮度等。 四,标签组治理性能 想天浏览器人造兼容标签组治理性能。其标签组治理理念超前目前大部分的支流浏览器。 能够依据日常应用的用意整顿标签组。联合咱们提供的一些便捷性能,能够高效治理本人的标签组。 目前想天浏览器反对对标签进行锁定,锁定之后,标签组将无奈被间接敞开,须要解锁前方可敞开 在用想天浏览器时,大家会发现这个浏览器有很多长处,缓缓的就会感觉到这个浏览器跟国内别的浏览器比起来毫不逊色,无论是在速度上还是在平安无广告上都能拿得起放得下,不晓得用哪个浏览器更好的话,能够尝试一下。

September 16, 2022 · 1 min · jiezi

关于chrome:浏览器检测麦克风音量

开发直播类的Web利用时在开播前通常须要检测设施是否失常,本文就来介绍一下如果如何做麦克风音量的可视化。AudioWorklet呈现的背景做这个性能须要用到 Chrome 的 AudioWorklet。 Web Audio API 中的音频解决运行在一个独自的线程,这样才会比拟晦涩。之前提议解决音频应用audioContext.createScriptProcessor,然而它被设计成了异步的模式,随之而来的问题就是解决会呈现 “提早”。 所以 AudioWorklet 就诞生了,用来取代 createScriptProcessor。 AudioWorklet 能够很好的把用户提供的JS代码集成到音频解决的线程中,不须要跳到主线程解决音频,这样就保障了0提早和同步渲染。 应用条件应用 Audio Worklet 由两个局部组成: AudioWorkletProcessor 和 AudioWorkletNode. AudioWorkletProcessor 代表了真正的解决音频的 JS 代码,运行在 AudioWorkletGlobalScope 中。AudioWorkletNode 与 AudioWorkletProcessor 对应,起到连贯主线程 AudioNodes 的作用。编写代码首先来写AudioWorkletProcessor,即用于解决音频的逻辑代码,放在一个独自的js文件中,命名为 processor.js,它将运行在一个独自的线程。 // processor.jsconst SMOOTHING_FACTOR = 0.8class VolumeMeter extends AudioWorkletProcessor { static get parameterDescriptors() { return [] } constructor() { super() this.volume = 0 this.lastUpdate = currentTime } calculateVolume(inputs) { const inputChannelData = inputs[0][0] let sum = 0 // Calculate the squared-sum. for (let i = 0; i < inputChannelData.length; ++i) { sum += inputChannelData[i] * inputChannelData[i] } // Calculate the RMS level and update the volume. const rms = Math.sqrt(sum / inputChannelData.length) this.volume = Math.max(rms, this.volume * SMOOTHING_FACTOR) // Post a message to the node every 200ms. if (currentTime - this.lastUpdate > 0.2) { this.port.postMessage({ eventType: "volume", volume: this.volume * 100 }) // Store previous time this.lastUpdate = currentTime } } process(inputs, outputs, parameters) { this.calculateVolume(inputs) return true }}registerProcessor('vumeter', VolumeMeter); // 注册一个名为 vumeter 的处理函数 留神:与主线程中的名字对应。封装成一个继承自AudioWorkletProcessor的类,VolumeMeter(音量表)。 ...

September 14, 2022 · 4 min · jiezi

关于chrome:国产浏览器体验感很糟糕那是你还没遇上想天浏览器

这些日子闲来没事就给电脑装了不少浏览器,将国内外几大支流浏览器也领略了一番。不过目前感觉浏览器泥沙俱下,每一个浏览器都有着不同的性能和内核,有人认为好用也有人认为没用,七嘴八舌,七嘴八舌。于是笔者亲自测用过那么多的浏览器,依然是一言以蔽之,大部分国产浏览器也要加一把劲呀。在这里,谈谈本人的观点。如何对待谷歌浏览器在浏览器中算是老大哥,而且还是我在国外应用较频繁的浏览器之一,其速度与别的浏览器比起来都属佼佼者。我每天都会在网上浏览一些英文网站,其中有很多对于翻译方面的文章。这款浏览器在很多方面都能满足咱们的需要。比方它自带的中文输入法,以及丰盛的搜寻性能等等。但最让我称心的还是它的平安性能。没有歹意攻打的痕迹。这一点和谷歌翻译十分相似,都是通过用户输出本人想要的英文材料进行翻译。当然,也存在一些毛病,即没有账号,书签明码无奈同步。如何应用360平安浏览器360平安浏览器在国内曾经有不少用户在用,而且开启相当快。360在这方面做得比拟好,因为它是收费的,而且还能够为宽广的小白用户提供服务。但如果你是个大号用户,那你必定不会错过这样的机会。因为它能够让你疾速找到想要拜访的站点并进行相干操作。而且还可能依据你输出的关键字搜寻到所需信息。360平安浏览器提供给用户一个简略不便的上网形式——网址导航。这也合乎咱们的上网习惯。但360广告切实太多了,动辄广告一直,若不设定广告过滤,几乎就是劫难,起因就是其广告之多令人难以承受。360平安浏览器也不例外,不过它并不是一个真正意义上的浏览器,它只是提供了一个简略的性能——关上收藏夹网址,而后输出登录明码,就能够在浏览器中浏览网页了。这次我就想把它给卸掉吧!通过一番思考,我决定用新版本的360安全卫士来替换旧版本的360安全帽。首先要理解一下360安全卫士是怎么工作的。除了广告之外,感觉360平安浏览器还能够,毕竟至今我都没有卸载过。对于想天浏览器想天浏览器是一款国产浏览器,区别于传统的浏览器,想天浏览器的定位是收费、无广告、效率的桌面浏览器!想天浏览器人造兼容标签组治理性能。其标签组治理理念超前目前大部分的支流浏览器。能够依据日常应用的用意整顿标签组。联合咱们提供的一些便捷性能,能够高效治理本人的标签组。在体验的过程中,想天浏览器除了标签组惊艳到笔者之外,还有这一个云端标签分组空间咱们能够设置空间明码,同时反对多账号绑定、切换。容许一台电脑上登录多个账号,并通过空间进行隔离。此性能非常适合家庭成员间专用一台电脑办公或者是会议室公共电脑多人登录账号和绑定账号。当然想天浏览器还有很多乏味的性能,比方全局搜寻,在任意界面按下alt+f (Windows下)或者option+f(mac下)可触发全局搜寻,1:1复旧还原古典QQ等级设计,QQ等级重制版等等。更多功能的话,大家能够去体验一下,感觉很不错。以上就是对于我应用多个浏览器的应用体验,谷歌浏览器最终还是我比拟喜爱的国外浏览器,应用体验感不错。国产浏览器在界面和外观做得不错,然而360浏览器内存大广告多。想天浏览器没有广告是真的好,集体很多人性化的性能,而且它全副具备了。

September 9, 2022 · 1 min · jiezi

关于chrome:为什么用IE浏览器的人越来越少推荐这一款桌面浏览器

IE浏览器对于许多用户来说是一个耳熟能详的名称,想必许多敌人在童年时就应用IE浏览器了,最后玩网页游戏时,我也应用IE浏览器,蓝色字母e相熟的字母。随着工夫的推移,IE浏览器缓缓退出历史舞台,直到明天,IE浏览器仍然是互联网上应用最为宽泛的浏览器之一。尽管它已被泛滥的用户所熟知,然而人们还是不违心来到它。然而IE浏览器却停运了,只管咱们早在1年前就理解到类似的信息,然而当这个日子真正降临的时候,心田未免会产生许多感叹。为什么应用IE浏览器的人越来越多;应用IE浏览器者为何少了?应用IE浏览器者为何少了?上世纪九十年代中期至00年代InternetExplorer作为Windows标准配置。当初,越来越多的用户开始喜爱在网上冲浪。上网成为人们生存中必不可少的一部分。在网上冲浪时,如何保障本人的电脑不被黑客或病毒入侵呢?答案就是装置杀毒软件了。随着Windows的遍及和倒退,越来越多的用户开始应用各种不同类型的浏览器来拜访网络,IE也不例外。只管当前有不少人都抉择了下载别的浏览器,然而成果都不显著。然而,为什么现在用IE浏览器的用户越来越少呢?也为局部老用户所关注。在他们看来,“IE厂商倒倒了”是真的吗?实际上更多地是体现。随着上网人数的增多,IE浏览器的使用率逐步降落。在很多状况下,上网工夫越长、速度越慢,就越不适宜用户的需要。所以IE浏览器的市场始终处于低迷状态。以前大家都是通过浏览器来拜访网站的,而当初曾经进入了“群雄割据’时代。为使其浏览器在此次纠纷中更具备竞争力,许多厂商都在一直地改良性能和公布新产品,于是有更多浏览器的性能超过了IE,抓住了用户的心。然而IE浏览器并非真的倒了上来,它抉择了“面目全非“,作为“Microsoft Edge”再次进入公众视线,老版IE浏览器曾经从2022年6月15号起不再提供服务。只管旧版本IE浏览器退出了历史舞台,然而作为使用者,能够通过抉择其它时下风行的支流浏览器进行网络拜访,以失去更优质的网络体验,在这里,就为您安利一款最近比拟受欢迎的浏览器。风行的浏览器安利想天浏览器是一款基于chromium内核开发打造的全新平安浏览器,业余的浏览器内核,带给你极速的网页浏览体验,用户在应用过程中也不必放心会有任何的广告弹窗等问题此外,还领有设置自定义起始页、共性扩大、利用市场等弱小的网页浏览性能,给用户打造平安省心的网页浏览。1.导入html格局书签改良导入助手,减少对edge、chrome导入的反对反对任意浏览器导出的html格局书签的导入标签组想天浏览器将工作放在了左侧栏,随时供用户切换过来。咱们有高效的工作激活状态的治理,以保障分组较多的状况下,仍然可能让浏览器高效,不卡顿。3.明码治理性能目前咱们反对对集体明码进行便捷治理。在浏览过程中,能够在二级导航栏看到以后网站下有多少个保留的明码,且反对随时查看。当然,咱们将来还将反对基于团队的明码分享和保留机制,让团队不再有难管的明码。4.团队合作反对团队形式进行便捷合作。反对即时聊天。随着产品的一直迭代,咱们将退出更多的团队合作性能。属于IE的时代曾经过来了,而且就目前浏览器的市场体现而言,各大厂商的浏览器层出不穷。所以,咱们能够多体验其余不同类型的浏览器,万一就冲出一匹黑马呢?

September 2, 2022 · 1 min · jiezi

关于chrome:2022年谷歌Chrome等浏览器在线打开编辑保存微软Office金山WPS的WordExcel和PPT方案大全

一、行业背景长久以来,在IE、Chrome 45及Firefox 53以下版本的浏览器网页中,可间接或间接调用微软收费开源的ActiveX控件DsoFramer或参考DsoFramer实现的一些免费NPAPI办公插件即可嵌入本地装置的Office桌面软件实现在线编辑或审阅Office文档。随着Windows零碎及Office软件的一直降级,DsoFramer的稳定性和兼容性问题越来越多,64位浏览器不兼容,要命的是2008年以来微软再无升级版公布,也不反对国产的金山WPS等办公软件,导致其用于商业用途具备很大危险。起初有北京某聚、重庆某航等Office网页控件在DsoFramer根底上持续保护降级,然而因为技术架构大同小异,都无奈克服ActiveX控件或NPAPI插件固有的缺点,往往还须要批改终端电脑IE的默认平安设置或强制应用低版本Chrome等浏览器,施行老本高、加载运行时还常常弹正告,导致用户体验差,很难用于正式的商业场合。从2015年开始Chrome、Firefox等新生代浏览器先后勾销了对NPAPI插件的反对,IE浏览器又于2022年6月份被微软间接宣告IE正式服役,至此桌面Office软件嵌入网页实现在线文档编辑的现有技术计划基本上已生效。随着SAAS模式的衰亡,纯网页实现的在线编辑Office文档成为了大家重点发力的方向,包含微软、金山、谷歌、阿里巴巴、腾讯、字节跳动等巨头在内的诸多公司纷纷公布了本人的在线Office服务并一直拓展其性能,甚至对传统OA厂家都造成了肯定威逼。通过多年的倒退,尽管这些在线文档服务在多人合作分享、跨平台、应用老本及便捷性、保护降级等方面具备劣势,但存在的问题也着实不少,遇到零碎解体时用户就得抓狂。绝对于桌面版Office来说,在线Office服务存在一些性能缺失,需网络随时在线不说,和桌面版制作的文档格局和排版不兼容导致所见即所得成果差,文档内容简单或表格记录大时关上迟缓甚至间接卡死,多文档同时编辑或嵌套文档难,私密性、安全性不够,在线服务器压力大,最要害的是其凋谢能力往往有余,导致很难整合到OA、CRM、ERP、企业网盘等零碎作为子模块应用。另外,不少企业因为历史的起因都已购买了桌面版Office的长期应用受权,也整合到了本人的各种业务零碎中应用,也就很难再每年付费切换到在线Office版应用,毕竟还面临要扭转用户应用习惯的难题。云端在线合作编辑一时爽,须要的版式成果实现难上难,所以最好的解决办法还是在原来的桌面版Office软件之上,通过技术手段让其可顺畅运行在Chrome、Firefox、Edge、360、IE、Opera、QQ等支流版本浏览器中。 二、计划比照实现微软Office、金山WPS等桌面软件嵌入浏览器网页实现在线编辑doc、docx、xls、xlsx、ppt、pptx、wps、et等办公文档,大体上有如下几个计划: 1、 浏览器插件计划此计划目前只实用于IE浏览器了,网页中间接运行ActiveX控件调用桌面Office软件的自动化接口来实现。前述章节提到的收费DsoFramer及北京某聚Office控件如此,免费的北京某正、广州华某某Office控件也是如此。而在Chrome 45、Firefox 53以下版本的浏览器中,免费的重庆某航Office文档控件、江西某格Office智能文档控件在浏览器反对的NPAPI插件中再调用ActiveX控件来申请桌面Office软件的自动化接口。这些商业免费控件,天然也为满足OA等零碎的需要做了一些兼容性解决,如兼容更高版本的Windows零碎、微软Office、金山WPS及64位浏览器,性能扩大如智能填报内容,文档加密、版本治理、拆分合并,痕迹保留等。2015年开始在Chrome、Firefox等浏览器勾销NPAPI插件反对后的技术解围过程中,江西某格Office控件体现绝对突出,其基于Chrome浏览器PPAPI可信插件技术公布的新版可用于兼容44以上版本,并通过在零碎驱动层拦挡并批改浏览器启动参数解决了PPAPI可信插件必须通过命令行启动浏览器才反对的技术难题,因而其销售价格昂贵。然而采纳底层的零碎驱动技术计划可能导致操作系统蓝屏死机不说,微软对系统驱动程序治理越来越严格,数字签名证书是由期限的,一旦过期就很麻烦,况且不少单位的等级爱护要求因为平安起因是不容许用零碎驱动程序计划的。此外,PPAPI插件并未失去Firefox等浏览器的反对,只是一个过渡技术计划,这不Chrome在2021年初曾经勾销了对Flash Player PPAPI插件的反对,终止对 NaCl、PNaCl 和 PPAPI插件的反对也是迟早的事件,采纳PPAPI插件技术的计划存在随时挂掉 危险。 2、 特定浏览器计划为了应答Chrome、Firefox等浏览器勾销NPPAI插件接口后的技术挑战,又心愿保障原有业务零碎的失常运行,一些实力较弱的公司只好举荐客户持续应用面临安全漏洞威逼的低版本Chrome或Firefox浏览器,或者举荐应用双内核的国产360浏览器并要求切换到IE内核应用。实力稍强一点的公司基于Chromium的低版本内核开发定制版浏览器来确保NPAPI插件能够持续应用,用户无奈享受高版本浏览器的性能不说,低版本内核存在的安全漏洞和程序BUG也无奈失去修复。然而企业信息化零碎往往是非常复杂的,对浏览器的要求比拟高,很可能不反对这些特定版的浏览器,所以不能因为Office文档控件只能在这些特定浏览器上运行而导致OA等零碎也跟着受到限制。 3、 外接程序计划重庆某航、北京某正、广州华某某Office控件等在NPAPI插件禁用后,纷纷采纳浏览器内部协定(URL Procotol)形式来启动独立的EXE外接程序,而这个独立程序会内嵌一个IE内核用来反对ActiveX控件的加载运行,也号称兼容Chrome和Firefox等高版本浏览器运行了。这种技术实现导致在网页中每次启动Office控件时,都会弹出一个让最终用户不胜其烦的对话框来确定,如下图所示:用户应用体验很差,这些弹出的独立过程窗口和浏览器原来的网页窗口是齐全拆散的,还波及到两个窗口之间的数据传递和管制问题,减少了零碎复杂性。因为无奈做到网页和文档编辑窗口交融,加上启动时的弹窗确认,应用体验还是很难让用户乐意应用的。 4、 双内核计划此计划次要是依靠Chrome等浏览器上的扩大程序IETab来实现,商业用途是须要付费应用的。其原理是通过在Chrome标签页中加载一个IE内核渲染的整个网页进行笼罩显示,这个网页再调用比方DsoFramer控件实现Office文档的编辑。因为Chrome的扩大程序必须通过谷歌或微软利用商店进行装置,导致此计划存在大规模自主可控部署难问题。而且IETab实现的成果是对整个网页失效,无奈在Chrome内核网页中再实现部分加载IE内核网页来显示,况且IE对运行和下载ActiveX控件常弹出正告,用户体验很差,即便通过批改IE的默认平安设置来缩小弹窗,然而这个批改设置过程也须要业余的技术人员能力实现,大幅度减少了施行老本。随着IE的正式服役,尽管调用IE内核控件还能够持续几年,但始终不是长久之计。 5、 2022年最新终极计划:通过上述总结的现有技术计划能够看出,想要在以后支流版本的Chrome、Firefox、Edge、360、IE等浏览器网页中内嵌桌面Office软件窗口实现文档或表格在线编辑等性能,外围就在于如何在各浏览器中实现一个对立的不依赖浏览器本身扩大技术的外接零碎,同时必须对各品牌及各版本的浏览器有比拟好的兼容能力才具备较大的实用价值。最新计划就是在网页中指定地位和大小,模仿实现一个内嵌到网页中显示的窗口,在这个窗口中再调用桌面Office软件的自动化接口实现doc、xls、ppt等文档的操作。前端还必须可对这个窗口进行实时控制,而且窗口必须追随浏览器的挪动和缩放、网页滚动、标签页切换、敞开等操作进行主动联动。这个窗口的宿主过程同时提供Web Socket的服务端和JSON打包命令的解析执行模块,前端就能够通过Web Socket连贯后发送JSON打包的管制命令实现管制此窗口的动作。此计划能够说是上述外接程序计划的升级版,要害差别在于此计划可实现内嵌Word、Excel、PowerPoint、WPS文字、WPS表格等程序窗口到网页指定区域运行的成果,而且摈弃了通过IE内核来加载ActiveX控件的计划,解决了用户体验差、加载迟缓和内存占用高的问题。另外启动这个外接程序是通过Web Socket连贯实现的,也解决了每次启动都需弹窗确认的麻烦,还有就是提供了相似ActiveX控件的主动降级计划,可在网页中实现静默主动降级,并额定减少了调用验证机制确保外接程序的平安启动。此技术计划在2019年由成都佐罗软件有限公司申请了软件发明专利爱护,且已有实现的成熟软件产品公布,这就是跨浏览器的原生小程序软件系统—猿巨匠中间件,自公布以来胜利利用到电力、医疗、交通、安防、保险、工业设计等行业客户,取得了统一好评。 三、猿巨匠办公助手猿巨匠办公助手蕴含猿巨匠中间件及基于猿巨匠开发的微软Office、金山WPS及永中Office小程序组成。微软Office、金山WPS及永中Office小程序都提供了丰盛的二次开发接口,还能够购买这些小程序的源码后,依据本人须要进行二次开发解决个性化的需要。猿巨匠中间件不仅仅解决了桌面程序窗口嵌入网页应用的技术难题,还解决了散发和在线降级的难题,可实现在Chrome网页中部分加载显示的成果,启动过程无需弹窗确认,用户体验也失去了大幅度晋升。 猿巨匠办公助手官网:http://www.yuanofficer.com/ 猿巨匠办公助手收费下载体验地址:http://www.yuanofficer.com/xiazai/ 上面是和其它同类产品的优缺点比照: 1、 技术计划兼容的浏览器多,不仅反对最新版的Chrome、Firefox、Edge等浏览器,也反对老电脑中的IE及360等国产浏览器内嵌到网页中应用,应用体验远超市场上其它同类产品; 2、 性能和开发接口丰盛,蕴含切换打开文档、合并文档、书签操作、无缝集成电子印章、全屏编辑、追踪批改记录、本地及网络文档关上和保留、文档另存及批量打印、文档比照等等性能,还可依据客户须要随时收费增加共性功能; 3、 对Office软件的兼容能力强悍,反对微软Office 2007及以上的业余安装版,金山WPS的企业版及个人版,以及永中Office专业版等,尤其是电脑同时装置了不同品牌的Office时也能失常加载应用; 4、 受权形式灵便,可依据客户须要提供肯定数量终端电脑可用的受权,在受权服务器上可灵便管制终端电脑的应用期限;也可提供不限度终端电脑数量的受权,须要绑定HTTPS网站域名或指定最终客户应用的水印应用; 5、 微软Office、金山WPS及永中Office小程序源代码,客户可依据本人须要购买,而后定制开发一些个性化的性能,实现源代码级别的自主可控; 6、 受权一次购买,一生无效,无需续费即可收费取得在线技术支持和最新版本程序包; 7、 借助猿巨匠中间件的反对可实现在浏览器中静默在线降级,保护老本大幅度降低,前端调用也提供了平安机制,可尽可能确保零碎的安全性; 8、 不依赖任何浏览器的插件接口,浏览器的降级不会导致技术计划生效,不存在因为技术起因导致的反复购买产生; 9、 最低兼容Windows XP零碎应用,举荐应用Windows 10及以上版本的32和64位桌面及服务器操作系统,随着工夫的推移,减少的零碎会一直减少; 10、 对前端集成的技术要求低,只须要会简略的JS脚本即可实现开发,也反对以后最风行的VUE前端框架调用,提供集成范例。 四、总结一个好的产品,不仅仅要功能丰富,可满足客户的刚性需要,而且能稳固牢靠运行,有良好的应用体验和兼容性,而且能升高集成开发、施行及保护的难度,最初需尽量保障其技术计划不能因为浏览器的降级而生效。

August 15, 2022 · 1 min · jiezi

关于chrome:在-Chrome-开发者工具里通过-network-选项模拟网站的离线访问模式

Service Worker 缓存 API 的一个次要长处是它为您提供了比内置浏览器缓存更具体的管制。 例如,Service Worker 能够在用户首次运行您的 Web 应用程序时缓存多个申请,包含他们尚未拜访的资产。 这将放慢后续申请。 还能够实现本人的缓存管制逻辑,确保被认为重要的资产保留在缓存中,同时删除较少应用的数据。 如果应用缓存头来缓存页面上的元素,用户触发的刷新将使浏览器跳过 HTTP 缓存。然而,Service Worker fetch 事件将始终拦挡申请,这意味着如果开发人员违心,能够随时从缓存中提供服务。 Service Worker 加强了传统的 Web 利用部署模型,并使应用程序可能提供与在最终用户的操作系统和硬件上运行原生利用等同的可靠性和性能的用户体验。 将 Service Worker 增加到 Angular 应用程序,是将应用程序转变为渐进式 Web 应用程序(也称为 PWA)的步骤之一。 一言以蔽之,咱们能够将 Service Worker 看成是在 Web 浏览器中运行并管理应用程序缓存的脚本。 Service Worker 充当网络代理。 它们拦挡应用程序收回的所有传出 HTTP 申请,并可能通过编程的形式,指定 Service Worker 如何响应这些申请。 例如,Service Worker 能够查问本地缓存并提供缓存响应(如果可用)。这种拦挡和代理行为,不仅限于通过编程 API 收回的申请,例如 fetch;它还包含在 HTML 中援用的资源,甚至是对 index.html 的初始申请。 因而,基于 Service Worker 的缓存是齐全可编程的,并且不依赖于服务器指定的缓存标头——后者是 HTTP 层的缓存,同 Service Worker 缓存位于两个不同的层。 与形成应用程序的其余脚本(例如 Angular 利用程序包)不同,Service Worker 即便在用户敞开 Chrome 浏览器的 tab 之后,依然被保留。 ...

August 4, 2022 · 1 min · jiezi

关于chrome:证券从业金融知识积累

在东方货币政策传导机制实践中,用P->W->C->Y示意财产传导机制的传导过程,其中P是资产价格,W代表财产,C代表生产,Y 代表总产出。沪深300股指期货合约的合约乘数为每点300元中证机构间报价零碎股份有限公司,2013.2.27成立,2015.2.10日更名改制,经中国证监会批准并由蒸锅证券业协会依照市场化准则治理的金融机构金融服务实体经济的本质就是无效施展其媒介资源配置的性能首次公开发行是指拟上市公司首次面向不特定的社会公众投资者(并非特定投资者)公开发行股票募集资金并上市的行为,发行人不仅募集到所需资金,而且还实现了股份有限公司的设立或转制,成为上市公众公司独立衍生工具:远期合同、期货合同、调换合同、期权合同嵌入式衍生工具:可转换公司债券影响股票投资价值的外部因素:公司净资产、盈利程度、股利政策、股份宰割、增资和减资以及并购重组影响股票投资价值的内部因素:宏观经济因素、行业因素、市场因素货币市场工具:政府发行的短期政府债券、商业票据、回购协定、可转让的大额定期存单以及货币市场独特基金企业现金流(FCFF)指公司在放弃失常经营的状况青睐,能够向所有出资人(股东和债权人)进行自在调配的现金流债券交易交易有:公开报价、对话报价、双边报价和小额报价四种形式基金反馈的是信托关系,股票反馈的是所有权关系,债券反馈的是债权债务关系证券金融公司借入次级债该当当时向证监会报告,对于借入的次级债,计入净资本基金资产总值是指基金全副资产的价值总和,从基金资产总值中扣除所有负债就是基金的净值发优先股的作用在于能够筹集长期稳固的公司股本,又因股息率固定,能够加重利润分配的累赘债券当期收益率度量的是债券年利息收益(并非债券总利息收益)占购买价格的百分比,反馈每单位投资可能取得的债券年利息收益,但不反馈(并非也能反馈)每单位投资的资本损益不同发行人发行雷同期限和票面利率的债券,其市场价格会不雷同,计算出的债券收益率也不一样,这种也反映在收益率上的区别被称为利率的危险构造企业债券发行由核准制改为注册制,国家发改委为企业债全的法定机关,发行企业债券该当依法经国家发改委注册私募基金募集履行:特定对象确定、投资者适当性匹配、基金危险揭示、合格投资者确认、投资沉着期、回访确认影响债券现金流的因素:债券的面值和票面利率、计付息距离、债券的嵌入式期权条款、债券的税收待遇、其余因素资产治理业务层面的流动性危险包含不能及时以正当老本硬度客户赎回、产品到期无奈履约领取等证券公司、基金治理公司子公司通过设立非凡目标载体(SPV)开展业务证券化业务证券投资基金在美国是指独特基金,日本和台湾叫证券投资信托基金,欧洲国家叫汇合投资基金或者汇合投资打算,英国和香港脚单位信托基金交易所债券市场履行“地方注销,二级托管”制度基金治理费率通过与基金规模成反比,与危险成正比危险扩散是指通过分散化的投资来升高非零碎危险,但并不能升高系统性危险

August 1, 2022 · 1 min · jiezi

关于chrome:前端食堂技术周刊第-46-期Chrome-三方-cookie-计划npm-引入更多安全增强功能Awesome-Bun

美味值: 口味:过油肉拌面 食堂技术周刊仓库地址:https://github.com/Geekhyt/weeklyPC 端在仓库里看体验更好,棘手赏个 Star 是对食堂最大的反对。 本期摘要Expanding Privacy Sandbox testing为 npm 引入更多平安加强性能LotionAwesome Bun像小说一样品读 Linux 0.11 外围代码HypeScriptRoll your own JavaScript runtime跟着我,从 0 实现 React18构建本人的 Web 框架大家好,我是童欧巴。欢送来到本期的前端食堂技术周刊,咱们先来看下上周的技术资讯。 技术资讯1.Expanding Privacy Sandbox testingChrome 团队近期分享了他们的隐衷爱护打算和时间表,以及逐渐淘汰第三方 cookie 的门路。预计在 2023 年开始交付 API 以实现广泛的可用性,于 2024 年下半年开始逐渐淘汰 Chrome 中的第三方 cookie,博文次要包含如下内容: 更新 cookie 行为、独立分区存储(CHIPS)。 First-Party Sets 第一方集(容许由同一实体领有和经营的相干域名申明属于同一个第一方)减弱 User-Agent,缩小 UA 中可用于被动指纹识别的信息Storage 分区,蕴含 IndexedDB、localStorage、communication API(BroadcastChannel、SharedWorker)、ServiceWorker2.为 npm 引入更多平安加强性能近期 npm 推出了一些新的平安加强性能: 应用 npm CLI 简化登录和公布体验将 GitHub 和 Twitter 帐户连贯到 npm 的能力npm 上的所有包都已从新签名,增加一个新的 npm CLI 命令来审核包的完整性上面咱们来看技术材料。 ...

August 1, 2022 · 1 min · jiezi

关于chrome:Chrome-开发者工具-network-显示-Provisional-headers-are-shown-的几种原因

HTTP 标头是显示在超文本传输协定 (HTTP) 的音讯标头的申请和响应音讯中的名称或值对。 申请标头蕴含无关要获取的资源或申请资源的客户端的更多信息。 响应标头蕴含无关响应的附加信息,例如其地位或提供它的服务器。 这些标头通常对最终用户不可见,仅由服务器和客户端利用程序处理或记录。 有时标头会显示正告音讯 Provisional headers are shown, 这可能是因为申请未通过网络发送(而是从本地缓存提供),它不存储原始申请标头。 在这种状况下,咱们能够禁用缓存以查看残缺的申请标头。 也可能是因为网络资源有效。例如,在 console 中尝试输出上面的命令: fetch("https://jec.fyi.com/unknown-url/") 因为平安起因,DevTools 也可能只显示长期题目。 为挂起的申请显示的 HTTP 标头是长期的。 它们代表从 Blink 发送到 Chromium/Chrome 的申请。Blink 是反对 Chromium(以及 Chrome)的开源浏览器布局引擎。 Chromium/Chrome 在服务器响应之前不会更新标头,以防止仅由 DevTools 应用的附加告诉。 简而言之,长期标头意味着它们尚未响应的申请。 请留神,这只是一个告诉,而不是理论的谬误音讯。 有可能 Chrome 应用本人的缓存来获取您的资源。 该申请不是通过网络发送的,而是从本地缓存中提供的,这种状况下该缓存不存储原始申请标头。 这个正告意味着:申请的资源可能被阻塞(扩大/其余机制)。呈现这个正告的起因是获取资源的申请并没有真正产生,所以header显示的是虚伪信息,直到服务器真正响应回来,这里的header信息才会更新为实在的申请头部信息。然而,这可能也不会产生,因为申请可能会被阻止。 比方AdBlock之类的 Chrome 扩大。

July 22, 2022 · 1 min · jiezi

关于chrome:chrome-浏览器下安装vuedevtools总结

这几天给我的项目浏览器装置vue-devtools, 弄了好长时间, 装置了几个tag版本 都在install 时失败, 尝试了很多方法, 最初胜利了,总结分享给大家源码编译装置 从git仓库下载vue-devtools 代码https://github.com/vuejs/vue-devtools.git切换到vue-devtools 目录, 执行 yarn install编译 yarn build批改vue-devtools\packages\shell-chrome 下的manifest.json 文件 "persistent": false // 把false 改成true关上chrome 浏览器的扩大程序, 点击:加载已解压的的扩大程序, 从目录中选中shell-chrome加载胜利后, 点devtools 的详情, 把容许拜访文件网址等选项开启到此, 浏览器的右上角就会呈现vue 绿色logo 关上我的项目主入口文件main.js 在其中增加 Vue.config.devtools = true我的项目中应用vue 要应用开发版本, 不能应用压缩的生产版本, 否则vue-devtools会呈现如下的提醒 Devtools inspection is not available because it’s in production mode or explicitly disabled by the author.实现胜利后, 在开发者控制台模式会呈现Vue tab 具体怎么应用devtools 进步开发效率 ,不再讲师

July 18, 2022 · 1 min · jiezi

关于chrome:Chrome-103支持使用本地字体纯前端导出PDF优化

在前端导出PDF,解决中文乱码始终是一个头疼的问题。要解决这个问题,须要将ttf等字体文件内容注册到页面PDF生成器中。然而之前网页是没有权限间接获取客户机器字体文件,这时就须要从服务器下载字体文件或者提醒用户抉择字体文件上传到页面。对于动辄数十兆(M)的中文字体文件,网络不好时并不是一个好的解决方案。Chrome 103Chrome 103版本中新的字体API能够让web利用获取到用户在本地电脑上装置的所有字体信息,同时还能够获取到字体内容。 调用window.queryLocalFonts(),会返回用户装置字体的数组。 const pickedFonts = await self.queryLocalFonts();for (const fontData of pickedFonts) { console.log(fontData.postscriptName); console.log(fontData.fullName); console.log(fontData.family); console.log(fontData.style);}处于安全性的思考,获取字体信息须要获取到用户的受权。当第一调用queryLocalFonts时,Chrome会弹出权限申请:批准后,就能够获取到所有装置字体信息了 应用navigator.permissions.query能够查看权限 async function requestPremission(){ const { state } = await navigator.permissions.query({ name: "local-fonts" }); console.log(state) if (state === 'granted') { query(); } else if (state === 'prompt') { alert("请授予权限!") query(); } else{ alert("没有权限获取字体") }}应用本地字体导出PDF抉择须要应用的字体内容,注册到PDF生成工具中 应用blob 办法能够获取字体文件内容 let currentFont = fontList[fontListSelect.value]; const blob = await currentFont.blob();应用字体名称注册 //将Blob 对象转换成 ArrayBuffervar reader = new FileReader();reader.onload = function (e) { var fontrrayBuffer = reader.result; var fonts = GC.Spread.Sheets.PDF.PDFFontsManager.getFont(currentFont.family) || {}; fonts[fontType] = fontrrayBuffer; GC.Spread.Sheets.PDF.PDFFontsManager.registerFont(currentFont.family, fonts);}reader.readAsArrayBuffer(blob);导出含有本地自定义字体的PDF: ...

July 14, 2022 · 1 min · jiezi

关于chrome:干货-盘点-Chrome-插件开发中那些关键的点

1. 前言最近在开发者模式下调试 Chrome 插件,发现装置扩大后默认会报谬误,提醒 v2 版本曾经废除,相干 API 性能将在明年不可应用,倡议降级到 v3 版本 本篇文章将基于 v3 版本,盘点 Chrome 插件开发中的一些关键点供大家进行参考 2. 配置v2 降级到 v3 后,manifest.json 配置文件须要进行上面批改 2-1  版本号 须要将 manifest_version 的值设置为 3 2-2  action action 能够指定 Chrome 扩大图标设置、popup 页面等内容\ 在 v3 中应用关键字 action 取代 v2 中的关键字 browser_action //v3... "action": {    "default_icon": {      "16": "images/icon16.png",      "32": "images/icon32.png"    },    "default_popup": "popup.html",    "default_title": "HelloWorld"}...2-3  background 在 v2 中,咱们能够应用 scripts 关键字指定后盾运行的脚本列表,再应用 persistent 关键字设置运行脚本的生命周期 当 persistent 设置为 true 时,脚本会始终在后盾运行,因而会占用系统资源 //v2... "background": {    "persistent": false,    "scripts": ["background.js"]}...所以在 v3 版本中,应用 service_worker 关键字智能化启动脚本 PS:在 v3 中不能通过关键字 persistent  指定脚本的生命周期 //v3..."background": {    "service_worker": "background.js"}...3. 缓存在 v3 中,应用上面的形式,将键值对存储到缓存中 //v3...//存储数据到缓存//键:chrome.storage.sync.set({username:'AirPython',password:'123456'},function(){    console.log("保留胜利!")})...从缓存中获取数据,也有相应的 API //v3...//获取缓存chrome.storage.sync.get({username:"",password:""},function(items){      //用户名和明码不为空      if(items.username&&items.password){          ...      }}) ...4. 定时工作在 v2 中实现定时工作、延时工作十分不便,咱们只须要在 background.js 创立一个定时工作,而后设置 persistent 为 true,这样就能保留定时工作始终在后盾执行 因为 v3 切换成 service_worker  模式,如果想实现定时工作,只能应用 alarms 来实现 //v3-manifest.json..."permissions": [    ...    "alarms"  ]...操作步骤如下: 在 manifest 设置 alarms 权限在 background 中,应用 alarms 创立定时工作//v3 background.js...function peroidFunc(){    ...}// 定时器chrome.alarms.onAlarm.addListener((alarm) => {     //执行一次     peroidFunc()});//1分钟执行一次定时工作chrome.alarms.create({ periodInMinutes: 1.0 });...5. 网络申请网络申请支流的 4 种形式蕴含: ...

July 7, 2022 · 1 min · jiezi

关于chrome:Chrome浏览器调试工具

Chrome浏览器调试工具devtools外面的命令菜单:command+shift+P 命令菜单外面有许多十分有用好玩的货色 capture能够在浏览器内截图的: capture area screenshotcapture full size screenshot这个是长截图,能够截取整个页面,这个真是宝藏capture node screenshot 截图node节点dockdock to bottom、dock to left flex、grid这是两种常见的布局形式,打开方式都是在父容器中关上display,而后在程度方向和竖直方向应用justify-content、align-item来管制。 console API$_:能够返回上一条语句的后果 $0:抉择之前抉择的DOM节点,输入到控制台 console.time()、console.timeEnd():能够计算两个API之前代码的执行工夫,并输入到控制台 控制台里换行:shift+return console.group()、console.groupEnd():两个办法之间的内容就是一个分组; console.table([{},{}]):传入一个数组,将数组内容以表格的模式展现进去; LocalStorage、SessionStorage、CookieLocalStorage是始终贮存在本地,直到人为删除;SessionStorage示意数据只维持在会话完结之后 浏览器渲染首先阐明,当今的浏览器属于一个多过程应用程序,过程之间通过管道共享数据;每一个过程外面有多个线程,线程是间接共享内存数据 晚期的浏览器。晚期浏览器属于单过程应用程序,会有页面线程(负责页面渲染)、JS线程(执行JS代码)、其余线程。然而有问题存在: 单过程显然不稳固。一个线程卡死,可能导致整个过程卡死,比方关上多个标签页,其中一个页面卡死,整个浏览器就会卡死。单过程不平安。JS线程能够拜访浏览器过程内的所有数据单过程不晦涩。一个过程要负责的事件太多了古代多过程浏览器:次要分为浏览器过程、GPU过程、插件过程、渲染器过程、网络过程、缓存过程 渲染器过程会默认为每个标签页创立一个过程插件过程会解决如flash插件这种过程Chromium内核能够调整过程,比方应用single process就会让渲染器过程和浏览器过程合为一个;process per site就示意每个站点的多有页面应用一个过程;process per site instance示意同一站点的不同页面应用不同过程 浏览器网络线程申请到数据,通过管道将数据传送到渲染器过程中的主线程,主线程将HTML解析成DOM树,而后进行CSS款式计算,依据DOM树和款式又失去layout tree,依据layout tree失去生成程序表,而后又由layout tree失去layer tree,而后将绘制信息传给合成器线程,合成器线程将图层分成图块,而后将图块传给栅格线程,栅格线程进行栅格化,将栅格化好的draw quads图块信息又传给合成器线程,合成器线程又将图块信息变成了合成器帧frame,而后将合成器帧frame又传给了浏览器过程,再传给GPU渲染,就展现到屏幕上了。 DOM->Style->Layout->Paint->Layer->tiles->raster->draw quads->frame 重排:批改一次height属性,就会产生layout之后的所有动作 重绘:批改一次color属性,就会产生Paint之后的动作 咱们广义上指的渲染就是Layout和Paint两步 无论是重排还是重绘都会占用主线程,重排和重绘都会影响性能,尽量避免。重排会影响重绘,影响更大一些。 JS引擎引擎其实也就是编译器了。JS常见的编译器有 + Chrome的V8 NodeJS环境、Vue也应用这个+ WebKit的JavaScriptCore+ Mozila SpiderMonkey+ QuickJS+ Facebook Hermes编译过程: (JS)——解析器——(形象语法树)——解释器——(字节码)——编译器——(机器码/汇编代码) // V8 5.9版本之前少了解释器这一步,只有parser和compilerv8引擎V8是C++编写。编译执行JS、解决调用栈、内存调配、垃圾回收 17年V8引擎增加了igniton字节码解释器 5.9版本之前的V8 (JS)——解析器——(形象语法树)——Full-codegen编译器——(机器码)——CrankShaft优化编译器——(机器码)

June 30, 2022 · 1 min · jiezi

关于chrome:想天浏览器功能超级收藏夹功能分析

收藏夹是浏览器提供的网址珍藏性能,也是浏览器的外围性能之一。用户能够利用收藏夹增加、删除、编辑珍藏的网址。传统的浏览器收藏夹保留在本地,以供用户应用保留有收藏夹数据的浏览器时应用。在本地收藏夹的根底上,现有技术中还提供了网络收藏夹,用户在注册网络收藏夹服务后,用户可随时随地登录并应用同一类浏览器的收藏夹数据。实现了收藏夹数据的近程备份和随时复原性能。 超级收藏夹是想天浏览器团队重点打造的外围利用。 咱们心愿可能打造这样一款网络收藏夹,可能给你完满的资源收集、整顿、分享体验。不仅如此,咱们还心愿你可能通过咱们提供的网络服务与团队顺手共享资源。外围性能之一.顺手珍藏 ①反对网页中拖动图片疾速收集(图片) ②反对传统工具栏点击珍藏(网页) 外围性能之二.多格局兼容反对间接在外部编辑图片反对疾速筛选内容类型

June 29, 2022 · 1 min · jiezi

关于chrome:独立产品灵感周刊-DecoHack-018-全球前10名最流行的网站变化

本周刊记录乏味好玩的独立产品设计开发相干内容,每周公布,感兴趣的搭档能够点击订阅我的周刊。为保障每期都能收到倡议邮件订阅。欢送通过 Twitter 私信举荐或投稿。产品举荐Lapse - 这是一个电脑端的录屏工具,一键疾速记录延时视频,买断制的工具产品,$25美金。抉择输入帧数/尺寸/格局/画质。而后导出。简化了操作流程,这类产品还是十分不错的,用完即走的设计理念。 Wanderlust New Tab - 浏览器插件,新建一个网页就会随机展现一个景点的照片壁纸,没有其余任何性能。够极简。反对 Chrome,Firefox,Edge。 Wix Logo Maker - 最大的网站制作工具 Wix 出的一个在线制作 Logo 的工具,这类网站也是十分多,Google 一下 Logo Maker 能够找到很多,如果真的不是业余的设计师,还真的有可能用失去。同样, Wix 也做了 business-card-maker 名片制作工具。 goodpalette - 一个配色工具,很直观的预览款式十分不便,这个网站是能够配一些对比色,并不止是同色系的配色工具。之前有举荐过一个 UI Colors 这个配色工具是同色系的配色生成,十分谐和。 haus.fm - 喜爱电子音乐的能够看这个 FM 电台网站,专为电子音乐设计的音乐举荐引擎。能够收听由寰球顶级艺术家唱片公司策动的电子音乐。 Avrora - Sleep Booster - 除了潮汐之外,还有很多冥想类型的产品,这个产品上线快三年工夫,寰球下载量近1000万,发达国家是次要指标市场,是一个解决睡眠问题为主的产品。让你养成更好的睡眠习,有丰盛的内容:非凡呼吸技巧、冥想课程、睡眠故事、平静的声音等等。产品的界面十分简洁难看。有 iOS 和 Android 端。 Sleep Reset - 冥想利用 Simple Habit 的创始人 Yunha Kim 最近推出了一款名为 Sleep Reset 的新利用,以帮忙您改善睡眠。能够下载 Android 和 iOS 。该公司决定采纳不吃药改善睡眠的办法,并与亚利桑那大学、明尼苏达大学和斯坦福大学睡眠医学中心的专家合作开发其打算。Yunha Kim 也是 Simple Habit 应用程序的创始人。五分钟冥想利用 Simple Habit 它曾经筹集了 1250 万美元的融资,依据 SensorTower 提供的数据,Simple Habit 是 2018 年第三季度 iOS App Store 中第三大最受欢迎的冥想应用程序。该应用程序在下载量和支出方面仅落后于 Calm 和 Headspace . ...

June 20, 2022 · 1 min · jiezi

关于chrome:迁移chrome标签

很多网友在问,Google Chrome谷歌浏览器书签收藏夹在哪里?怎么珍藏网站?如何导出珍藏的网址?重装系统后如何复原以前的网址收藏夹诸如此类的问题,上面扩大利用网站小编就给大家分享谷歌浏览器收藏夹教程,让大家全面理解。 1、谷歌浏览器书签/收藏夹显示到浏览器顶部快捷键 Ctrl+Shift+B 2、谷歌浏览器书签/收藏夹,请在浏览器地址栏输出上面的命令敲回车即可显示所有珍藏的网址和分类,左边有三个竖着的“...”,点击能够导入导出书签类的网址,不便重装系统或浏览器之后复原导入以前收藏夹内的网址 chrome://bookmarks/Google Chrome谷歌浏览器书签收藏夹在哪里?如何珍藏导出 3、保留以后关上网站页面到收藏夹或书签快捷键 Ctrl+D 4、谷歌浏览器书签实在保留的地位门路在哪里? 大家能够间接在Google Chrome浏览器地址栏输出上面的命令而后敲回车chrome://version/ 会显示一个,个人资料门路,复制到计算机处敲回车,就能够关上该门路,上面有个Bookmarks的文件就是以后书签保留地位,此文件也是能够作为重装系统或浏览器之后通过覆盖文件的形式来复原书签

June 4, 2022 · 1 min · jiezi

关于chrome:想天浏览器用户脚本使用指南

所谓用户脚本,就是通过一些脚本来实现一些进阶的浏览体验。比方对网站进行优化、绿化,甚至是一些超权限的操作,解锁齐全不同的浏览形式。 此性能懂的小伙伴天然懂,不懂的小伙伴能够疏忽。上手有肯定难度。 前提条件在设置当中启用用户脚本 切记!!必须先启用用户脚本!! 1.脚本管理器咱们在工具栏当中减少了一个用户脚本管理器。 目前版本还比较简单。 点击即可关上用户脚本管理器。 2.导入内部脚本 筹备工作,寻找适宜本人的脚本并根本确认是否可用目前能够通过脚本平台去搜寻一些脚本。 https://greasyfork.org/zh-CN 留神:目前咱们无奈兼容全副的脚本。目前对局部脚本曾经实现了兼容。 曾经实现了油猴函数 GM_addstyle GM_setValue GM_getValue 其余的函数正在陆续兼容中。 如果你下载的脚本中蕴含了一些不兼容的函数,可能会导致脚本无奈运行。 如何确认脚本须要应用的函数? 找到代码中的grant申明。 下载代码并导入你能够复制脚本到本地js文件。 而后通过导入性能将脚本导入到浏览器中。 导入胜利后,可在用户脚本管理器中显示。 3.使脚本失效新导入的脚本须要重启浏览器之后方可失效。 同时留神脚本可用范畴是否合乎申明。 如何确认脚本失效? 当你浏览实用脚本的网站时,工具栏上的脚本组件会呈现角标,代表以后网站正有多少个用户脚本在运行。 到此,根本的用户脚本的导入与应用你都把握了。

May 17, 2022 · 1 min · jiezi

关于chrome:想天浏览器功能详解全局搜索功能分析

想天浏览器性能「全局搜寻」功能分析,家喻户晓,全局搜寻是一个桌面零碎级搜寻服务。设计初衷:心愿用户输出尽可能少的内容,就能够找到想要查找的指标网页、利用或标签组。为什么要做全局搜寻?在浏览器应用过程中,用户想要中转某个场景,都心愿能够变得更加简略。基于对中转查找指标的效率问题,想天浏览器基于日常应用的过程,更加方便快捷,退出了全局搜寻的性能。性能入口全局搜寻的性能入口,只有想天浏览器启动状态下。按下alt+f,即可在屏幕地方关上全局搜寻框。搜寻框当搜寻框被唤起后,输出英文字母、中文即可搜寻,输出过程中随时调整输出的文字内容,搜寻后果列表都会及时刷新出搜寻后果,不便大家疾速找到搜寻的指标。按下tab可切换搜寻的小分类。按键盘高低或者鼠标点击能够定位(关上)对应的搜寻后果。反对的搜寻类型反对全拼反对简拼反对搜寻网址

May 11, 2022 · 1 min · jiezi

关于chrome:使用-Chrome-开发者工具的-Memory-标签页分析内存泄漏问题

当以服务器端渲染模式运行的 Web 利用的 Node.js 过程遇到内存透露问题时,通常咱们可能察看到留神到频繁的内存峰值和 pod 重启,如下图 Dynatrace 工具所示: 剖析内存透露问题的要害是在不同的工夫点收集多个内存转储(Memory Dump),并比拟每个收集之间的对象增长,例如 在 Pod 重新启动后不久和内存饱和之前不久。 能够在 Chrome 中从浏览器开发工具 > 内存(应抉择堆快照)> 加载进行 Memory Dump 的收集和加载操作。 在不同的时间段内进行 Memory Dump 创立之后,就可能应用嵌入式比拟工具疾速辨认两个工夫点之间增长最多的对象。 应用 Chrome 查看工具,能够连贯到远程目标并实时察看内存应用状况。 如果内存透露问题能够在本地重现,那么能够依照对运行在本地的 Storefront 进行调试。 在调试模式下运行 Node.js 应用程序,拜访 chrome://inspect,如果在端口转发中配置了 localhost:9229,那么此刻应该可能看到应用程序并对其进行调试。 在 JS Storefront 应用程序中导致内存透露的一种最常见的谬误是是订阅事件而不在组件被销毁后勾销订阅。 上面是一个避免这种内存透露的示例——关键在于查看代码并确保在 ngOnDestroy() 中勾销任何事件订阅。 当应用 EventService 并遗记从事件源 Observable 登记时,也会产生同样的状况。 任何时候应用事件服务,都应该应用 register() 返回的装配函数(tear down)来勾销注册。 SSR Caching在 SSR 模式下运行的 JS Storefront 应用程序中改善内存耗费的最弱小工具之一是 SSR 缓存,有两种办法: 不举荐的做法:间接在服务器上缓存渲染的 SSR 页面。 在生产环境中不倡议这样做,因为它不能很好地扩大,并且最终须要比不启用 SSR 缓存时耗费更多的内存。举荐的做法:在 CDN 上缓存渲染的 SSR 页面。 这能够进步 SSR 利用的性能,因为它将缩小拜访 SSR 服务器的申请数量,同时将预渲染页面的存储到专门为此目标构建的服务器上。

April 29, 2022 · 1 min · jiezi

关于chrome:想天浏览器推荐几款好用的桌面浏览器

1:想天浏览器 基于Chromium内核,一款团队合作与浏览器联合的桌面浏览器,反对全局搜寻;云端标签分组空间;团队的创立、显示,同步创立一个团队沟通群聊与社区圈子;下载助手;;反对音讯核心;标签组治理性能;明码治理性能;用户脚本治理;弱小的导航治理;DIY桌面性能等丰盛的性能,不仅如此想天浏览器还有很多实用的插件,能够帮忙你拦挡广告、翻译网页等,为你带来高效的网页浏览体验。 2:火狐浏览器(Firefox) 一款收费开源的浏览器,软件玲珑,功能强大。它采纳新型引擎让浏览更快,占用内存更小,内置了全新的PDF查看器,用户能够间接在浏览qi中浏览PDF文档,无需下载内容或是启动任何插件或扩大。 3:Edge浏览器 微软基于Chromium 内核的一款浏览器,交互界面更加简洁,兼容现有Chrome的扩大程序。你的收藏夹、插件、历史、设置、标签页、主动填写信息、明码等信息都会主动同步。 4:Chrome 浏览器 一款十分业余的浏览器,界面粗劣简洁,窗口采纳了清新简洁的流线型设计。浏览器通过以下性能为您提供更加平安的上网体验:内置的恶意软件和网上诱骗防护性能、自动更新(可确保您取得所有最新的平安修补程序)等。您还能够通过各种各样的办法来自定义 Chrome 浏览器,从而享受举世无双的体验。无论是更改设置,还是从 Chrome 网上利用店增加利用、扩大程序和主题背景都轻而易举。

April 22, 2022 · 1 min · jiezi

关于chrome:Chrome浏览器访问http自动跳转https问题已解决

问题:Chrome浏览器中拜访http会主动跳转https下,导致申请和文件不能失常拜访网上查了很多解决方案,例如分明缓存等等其余办法,都不能解决该问题 例如:1.地址栏输出: chrome://net-internals/#hsts2.找到底部Delete domain security policies一栏,输出想解决的域名,点击delete。3.搞定了,再次拜访http域名不再主动跳转https了。 解决办法:第一步 点击地址栏旁边的锁第二步 关上网站设置第三步 划到最上面找到 -不平安内容(默认为屏蔽状态)最初 将它调整为-容许

April 22, 2022 · 1 min · jiezi

关于chrome:想天浏览器如何实现广告屏蔽及用户隐私

浏览器既要爱护用户隐衷,又要取得用户数据来改良产品,网站也是须要用户数据的,那么一款好用的浏览器,应该具备您想要的性能,而且能够跨设施同步浏览数据,轻松同步收藏夹等数据,还有就是很好地爱护咱们的隐衷数据,不能轻易追踪咱们的浏览脚印,甚至剖析咱们的购物习惯、网络需要等等。 对于隐衷爱护,应该说也是每个浏览器的责任,然而从企业利益最大化的角度来说,获取更多用户数据能力更好地服务用户,提供更多的让咱们离不开这个浏览器的性能,所以,咱们须要一个能够最能爱护隐衷的浏览器。 浏览器作为咱们日常应用最为频繁的网络软件,速度、平安、隐衷、实用等因素,都可能成为咱们认为这是一款好用,或者不好用的浏览器的重要指标。 谷歌Chrome浏览器曾经成为浏览器排行榜中排名第一的杀毒软件,但在网络广告无处不在、数据外泄实际屡发的状况下,咱们更加须要器重隐衷爱护。 其实咱们想要平安畅游网络世界,抉择优质浏览器很重要,想天浏览器就是这样的一款产品。 网络数据采集,让个人信息裸露 网络数据采集贮存,是很多网络公司都在用的一种信息采集形式。当你携带身份浏览网页时,零碎就会主动采集你的相干信息,这种模式下你的数据随时都有可能裸露在不平安的网络环境中,很多人的隐衷就是在这种有形的状况下裸露的。其实在浏览网页过程中,总是会收到一些针对性的广告,如果你的电脑上呈现了这种广告,很有可能表明你的信息裸露了。 在互联网时代,不想裸露个人信息,抉择一款懂爱护隐衷的浏览器就显得尤为重要。 想天浏览器懂你所需,为你护航 想天浏览器就是一款懂得爱护用户隐衷的产品,为您提供广告拦挡与隐衷爱护服务,在你应用想天浏览器前,会呈现首次应用导航,你能够通过抉择是否开启广告过滤及隐衷爱护。 想天浏览器懂你所需,为你而来 很多用户放心想天浏览器主动屏蔽了这些网址,会导致本人搜索引擎数据缩小。其实这些齐全不必放心,想天浏览器能够通过隐衷设置的时候,增加容许广告的多个品牌,其中包含搜狗,谷歌,百度等搜索引擎,,在浏览过程中零碎不会屏蔽重要网站,从而满足浏览需要。 浏览器是人们日常生活中取得资讯的重要入口,想天浏览器懂用户所需,以优质的隐衷技术爱护用户讯息。想天浏览器懂得你的需要,更懂得如何爱护你。

April 18, 2022 · 1 min · jiezi

关于chrome:看完这篇我就不信还有人不懂卷积神经网络

什么是神经网络?在介绍卷积神经网络之前,咱们先回顾一下神经网络的基本知识。就目前而言,神经网络是深度学习算法的外围,咱们所熟知的很多深度学习算法的背地其实都是神经网络。神经网络由节点层组成,通常蕴含一个输出层、一个或多个暗藏层和一个输入层,咱们所说的几层神经网络通常指的是暗藏层的个数,因为输出层和输入层通常是固定的。节点之间相互连接并具备相干的权重和阈值。如果节点的输入高于指定的阈值,则激活该节点并将数据发送到网络的下一层。否则,没有数据被传递到网络的下一层。对于节点激活的过程有没有感觉十分类似?没错,这其实就是生物的神经元产生神经激动的过程的模仿。 神经网络类型多样,实用于不同的利用场景。例如,循环神经网络(RNN)通常用于自然语言解决和语音辨认,而卷积神经网络(ConvNets 或 CNN)则罕用于分类和计算机视觉工作。在 CNN 产生之前,辨认图像中的对象须要手动的特征提取办法。当初,卷积神经网络为图像分类和对象辨认工作提供了一种更具可扩展性的办法,它利用线性代数的原理,特地是矩阵乘法,来辨认图像中的模式。然而,CNN的计算要求很高,通常须要图形处理单元 (GPU) 来训练模型,否则训练速度很慢。什么是卷积神经网络?卷积神经网络是一种基于卷积计算的前馈神经网络。与一般的神经网络相比,它具备部分连贯、权值共享等长处,使其学习的参数量大幅升高,且网络的收敛速度也更快。同时,卷积运算能更好地提取图像的特色。卷积神经网络的根本组件有卷积层、池化层和全连贯层。卷积层是卷积网络的第一层,其后能够跟着其余卷积层或池化层,最初一层是全连贯层。越往后的层辨认图像越大的局部,较早的层专一于简略的特色,例如色彩和边缘。随着图像数据在 CNN 的各层中后退,它开始辨认物体的较大元素或形态,直到最终辨认出预期的物体。 上面将简略介绍这几种根本组件的相干原理和作用。卷积层卷积层是 CNN 的外围组件,其作用是提取样本的特色。它由三个局部组成,即输出数据、过滤器和特色图。在计算机外部,图像以像素矩阵的模式存储。若输出数据是一个RGB图像,则由 3D 像素矩阵组成,这意味着输出将具备三个维度——高度、宽度和深度。过滤器,也叫卷积核、特色检测器,其本质是一个二维(2-D)权重矩阵,它将在图像的感触野中挪动,查看特色是否存在。卷积核的大小不一,但通常是一个 3x3 的矩阵,这也决定了感触野的大小。不同卷积核提取的图像特色也不同。从输出图像的像素矩阵的左上角开始,卷积核的权重矩阵与像素矩阵的对应区域进行点积运算,而后挪动卷积核,反复该过程,直到卷积核扫过整个图像。这个过程就叫做卷积。卷积运算的最终输入就称为特色图、激活图或卷积特色。 如上图所示☝,特色图中的每个输入值不用连贯到输出图像中的每个像素值,它只须要连贯到利用过滤器的感触野。因为输入数组不须要间接映射到每个输出值,卷积层(以及池化层)通常被称为“局部连贯”层。这种个性也被形容为部分连贯。当卷积核在图像上挪动时,其权重是放弃不变的,这被称为权值共享。一些参数,如权重值,是在训练过程中通过反向流传和梯度降落的过程进行调整的。在开始训练神经网络之前,须要设置三个影响输入体积大小的超参数: 过滤器的数量 :影响输入的深度。例如,三个不同的过滤器将产生三个不同的特色图,从而产生三个深度。 步长(Stride) :卷积核在输出矩阵上挪动的间隔或像素数。尽管大于等于 2 的步长很少见,但较大的步长会产生较小的输入。 零填充(Zero-padding) :通常在当过滤器不适宜输出图像时应用。这会将输出矩阵之外的所有元素设置为零,从而产生更大或雷同大小的输入。有三种类型的填充: Valid padding:这也称为无填充。在这种状况下,如果维度不对齐,则抛弃最初一个卷积。Same padding:此填充确保输入层与输出层具备雷同的大小。Full padding:这种类型的填充通过在输出的边界增加零来减少输入的大小。 在每次卷积操作之后,CNN 的特色图通过激活函数(Sigmoid、ReLU、Leaky ReLU等)的变换,从而对输入做非线性的映射,以晋升网络的表达能力。 当 CNN 有多个卷积层时,前面的层能够看到后面层的感触野内的像素。例如,假如咱们正在尝试确定图像是否蕴含自行车。咱们能够把自行车视为整机的总和,即由车架、车把、车轮、踏板等组成。自行车的每个独自局部在神经网络中形成了一个较低级别的模式,各局部的组合则代表了一个更高级别的模式,这就在 CNN 中创立了一个特色层次结构。 池化层为了缩小特色图的参数量,进步计算速度,增大感触野,咱们通常在卷积层之后退出池化层(也称降采样层)。池化能进步模型的容错能力,因为它能在不损失重要信息的前提下进行特色降维。这种降维的过程一方面使得模型更加关注全局特色而非部分特色,另一方面具备肯定的避免过拟合的作用。池化的具体实现是将感触域中的值通过聚合函数后失去的后果作为输入。池化有两种次要的类型: 最大池化(Max pooling):当过滤器在输出中挪动时,它会抉择具备最大值的像素发送到输入数组。与均匀池化相比,这种办法的应用频率更高。 均匀池化(Average pooling):当过滤器在输出中挪动时,它会计算感触域内的平均值以发送到输入数组。 全连贯层全连贯层通常位于网络的末端,其构造正如其名。如前所述,输出图像的像素值在局部连贯层中并不间接连贯到输入层。然而,在全连贯层中,输入层中的每个节点都间接连贯到前一层中的节点,特色图在这里被开展成一维向量。该层依据通过前几层提取的特色及其不同的过滤器执行分类工作。尽管卷积层和池化层偏向于应用 ReLu 函数,但 FC 层通常用 Softmax 激活函数对输出进行适当分类,产生 [0, 1] 之间的概率值。自定义卷积神经网络进行手写数字辨认 导包 import timeimport numpy as npimport torchimport torch.nn.functional as Ffrom torchvision import datasetsfrom torchvision import transformsfrom torch.utils.data import DataLoader ...

March 31, 2022 · 3 min · jiezi

关于chrome:Chrome-OS-100-为-Chromebook-带来全新功能设计

本周 Chrome OS 正式迎来的第 100 个版本,同时也带来了一些新的功能设计,旨在使其对 Chromebook 用户更加直观,体验感更好。 上面具体来看一下都有哪些值得注意的新变动吧 应用新的启动器理解更多信息启动器会在屏幕的侧面关上,而不是从底部,以不便用户为关上任何窗口留出更多空间。其次,用于排序图标的新选项,用户能够手动排列也能够按名称或色彩组织。搜寻栏将在用户输出时显示来自 Google 的更具体的预览,如果关上了一堆浏览器标签和窗口,新的启动器也会疾速疏导你找到所须要的标签。信息搜寻性能也变得更容易,以前显示的是搜寻后果的简短预览,本次更新会让用户在进入浏览器之前看到更多的信息。 用你的声音进行编辑听写性能能够在 Chromebook 上的任何中央听写文本。当初,也能够用你的声音来编辑。例如,你当初只需说“删除”来删除最初一个字母,或“挪动到下一个字符”来调整光标在屏幕上的地位。或者如果你不确定应用什么命令,那么试试说“帮忙”兴许Chromebook 会给你灵感。 创立和分享你本人的 GIF当初,用户能够在 Chromebook 相机应用程序中制作本人的图片。只需关上相机应用程序,抉择“视频”,而后切换到 “GIF” 录制一个五秒钟的视频,当实现时,它会主动转换成动画 GIF。通过电子邮件和 Chromebook 上的其余应用程序共享它,或者应用左近的分享将其发送到你的安卓手机。 其余更多信息请查看:https://blog.google/products/...

March 31, 2022 · 1 min · jiezi

关于chrome:了不起的Chrome浏览器13Chrome-100支持多屏应用了

2022年3月29日正式公布的Chrome 100,将带来了哪些新个性呢? TL;TRDeprecate the document.domain setter是一个影响很大的breaking change,请大家务必留神排查危险。打算于往年9月份公布的Chrome 106将不再反对通过批改document.domain来绕开同源策略(same origin policy)的限度,Chrome 100开始在控制台的Issues中打印warning信息。 Multi-Screen Window Placement API是个很有意思的个性,Web利用也反对多屏了!能够用于文档演示等场景。惋惜Firefox和Safari目前还不感兴趣,只有Chrome一家反对。 Array Grouping proposal是个很简略然而实用的个性,要不咱间接把Lodash的常用工具函数全副退出ECMAScript得了? Reduce User Agent string information要完结试用,开始正式公布了,此事对各种监控脚本的影响还是挺大的,须要留神排查一下危险。 具体解读Multi-Screen Window Placement APIChrome 100正式公布了Multi-Screen Window Placement API,能够用来查问设施所连贯的多个屏幕的信息,并且将页面内容在指定屏幕中关上,其外围API如下: 新增window.getScreenDetails()办法,用于获取显示器屏幕的信息(包含外接显示器);相比之下,window.screen只能获取以后浏览器页面所在的显示器屏幕信息;反对应用window.open()、window.moveTo()以及requestFullscreen()将页面内容在指定的屏幕关上;简略地说,Chrome反对多屏利用了。 一图胜千言,当我应用Keynote播放PPT时,它会在外接显示器上展现PPT内容,而在MacBook显示器上显示下一页内容以及以后工夫,这样的话,演讲者能够把握演讲的工夫节奏并且提前准备一下下一页要讲的内容(请疏忽我的PTT程度。。。): 那么,对于Google Docs、语雀、石墨文档等文档利用,无妨能够应用Multi-Screen Window Placement API实现相似于Keynote的成果,用于演示场景。 其实,在金融、设计工具、游戏等利用中,都能够用到Multi-Screen Window Placement接口,将不同的内容展现到不同的屏幕,进步用户体验和工作效率。 Twitter、Discourse、Google Slides、itrix等团队表白了对Multi-Screen Window Placement API的趣味,不过目前并没有看到理论案例,而Chrome团队所提供的Demo也过于简略。 Multi-Screen Window Placement提案还是挺有意思的,不过目前并没有成为正式规范,也没有失去Firefox和Safari的反对,这就很难堪了。。。 Array Grouping proposalChrome 100开启了ECMAScript提案Array Grouping proposal的开发者试用(devloper trial),该提案目前处于Stage 3,为数组新增了groupBy和groupByToMap办法: const array = [1, 2, 3, 4, 5];// 返回值:{ odd: [1, 3, 5], even: [2, 4] }array.groupBy((num) => { return num % 2 === 0 ? "even" : "odd";});const odd = { odd: true };const even = { even: true };// 返回值: Map { {odd: true}: [1, 3, 5], {even: true}: [2, 4] }array.groupByToMap((num, index, array) => { return num % 2 === 0 ? even : odd;});依据Web Almanac 2021报告,Lodash的使用率仅次于jQuery和Modernizr,高于React,由此可见相似于goupBy等工具函数还是十分罕用的: ...

March 30, 2022 · 2 min · jiezi

关于chrome:为了管理我的4万个书签我写了个插件

自己是重度书签使用者,多年珍藏积攒的书签有4万多。 尽管我对书签的文件夹进行了结构化的整顿,然而每当增加新的书签时候,还是很难疾速的找到相干的文件夹。 因而开发这个小插件能够疾速的对书签进行增加和整顿。 适用人群如果你领有海量的书签要治理。 保留书签时难以找到适合的文件夹。 插件性能★ 疾速搜寻文件夹名称,反对拼音缩写; ★ 应用命令来搜寻、新建文件夹(在搜寻框): 命令:#[文件夹名称] 阐明:显示文件夹的子文件夹,只找1层深度,须要输出残缺文件夹名称,不是含糊搜寻。 命令:##p阐明:显示所有固定文件夹。 命令: [文件夹名称] > [关键字] 阐明:显示文件夹内含有关键字的子文件夹。 命令:#[父文件夹] ![新文件夹名称]阐明:在父文件夹内新建文件夹。 命令:![新文件夹名称] 阐明:在根目录新建文件夹 双击Shift键会把下拉列表中文件夹名称复制到搜寻框。 ★ 可固定罕用的文件夹,反对拖拽来调整程序(最多20个); ★ 显示最近应用的文件夹列表(最多20个); ★ 齐全离线运行,爱护数据安全与隐衷; ★ 与原生UI统一的主题; ★ 反对快捷键激活: Windows: Alt+Shift+D Mac: Alt+D Linux: Alt+Shift+D ★ 全键盘操作反对 ★ 提供四种语言的反对(简体、繁体、英文、日文是机器翻译的),也心愿有人能帮忙翻译成其余语言; 装置办法1 Chrome商店下载(须要提子):https://chrome.google.com/web... 装置办法2 网盘下载:https://www.aliyundrive.com/s... 下载后,关上浏览器的扩大治理页面(chrome://extensions/)将文件拖到页面中装置。 目前只反对Chrome浏览器 源码待整顿后会公布到Github。如果发现错误或倡议能够提交issues。 目前还有一些实用功能没有随此次版本公布,后续测试和整顿后也会逐渐更新,心愿大家可能反对一下。 谬误和问题交换,请拜访:https://github.com/a90120411/... 如果喜爱这个扩大,能够帮我买杯咖啡反对我,谢谢!https://www.buymeacoffee.com/...

March 19, 2022 · 1 min · jiezi

关于chrome:作为一个LSP我不允许你不知道这款浏览器插件

Video Roll Chrome Web Store / Github 次要个性采纳最新 extension V3 规范开发可旋转任何网页中的 HTML5 视频针对播放器应用 Web components 或 Shadow dom 的网站做了特地优化(P 站、B 站)旋转视频时,会主动依据视频容器和视频原始大小尺寸进行自适应轻量级插件,小于 100kb器重安全性,插件不会收集任何用户信息,仅会应用 tab API 读取以后网页地址应用场景挪动端不须要,因为手机全屏自带旋转性能,无论视频是横屏还是竖屏,都不须要。 然而在PC端,很多依赖UP主上传视频的网站,会存在横屏变竖屏,竖屏变横屏的状况。以B站举例,例如上面这样的视频还不少: 除了B站,P站、某1等都依赖用户上传视频的网站都是重灾区。 问题就出在这,网页端的HTML视频播放器根本都没有提供旋转视频的性能,有点拉跨。于是这款插件就诞生了,它能够帮你旋转视频角度,同时会依据视频的容器自适应视频大小。 网上也有其余相似的插件,然而根本在B站就没用了,因为B站用的本人封装的Shadow Dom,而不是video标签,于是一众插件都失灵了。Video Roll则针对P站和B站做了特地解决,保障可能失常旋转。 装置 crx 装置: Chrome Web Store 在谷歌利用商店或非官方商店间接下载该插件装置即可(因为谷歌对于新开发者采取信赖制策略,可能须要数个月能力进入信赖名单,如提醒不信赖,须要点击确认装置)开发模式装置如您无奈装置 crx,能够在浏览器的扩大程序中开启“开发者模式”,间接将 dist 文件夹拖入装置即可。问题反馈若您在应用中遇到任何问题,比方 bug 或者网站有非凡的视频元素无奈旋转,请在 issue 中留下问题,咱们会尽快解决

March 17, 2022 · 1 min · jiezi

关于chrome:解决浏览器报JSONPAGEFORMAT-of-null警告

问题形容:页面显示失常,控制台报错 Error handling response: TypeError: Cannot read property 'JSON_PAGE_FORMAT' of null 问题起因:是浏览器的一个插件FeHelper(前端助手)导所致的。 解决办法:在插件扩大中敞开该插件即可。

March 8, 2022 · 1 min · jiezi

关于chrome:强制清理刷新浏览器缓存

明天遇到一个问题,线上的零碎页面跳转异样,然而只有我的异样,其余的共事失常,首先想到的是清理浏览器缓存!!! 平时我本人清理浏览器缓存个别都是,开发者工具(F12)-> Application -> Storage -> Clear site data 基本上就都能够解决,然而这次。我尝试清理了好几次,并没有什么成果,我甚至狐疑是不是零碎真的不好用了,然而我共事的电脑登陆就很失常!于是...尝试强制清理缓存 在浏览器中将开发者工具关上。开发者工具关上的前提下,鼠标右键浏览器的刷新图标点击清空缓存并硬性从新加载 即可实现强制清空缓存

February 23, 2022 · 1 min · jiezi

关于chrome:SAP-UI5-应用开发教程之三十七-使用-Chrome-开发者工具-Console-面板进行元素审查试读版

一套适宜 SAP UI5 初学者循序渐进的学习教程教程目录SAP UI5 本地开发环境的搭建SAP UI5 利用开发教程之一:Hello WorldSAP UI5 利用开发教程之二:SAP UI5 的疏导过程 BootstrapSAP UI5 利用开发教程之三:开始接触第一个 SAP UI5 控件SAP UI5 利用开发教程之四:XML 视图初探SAP UI5 利用开发教程之五:视图控制器初探SAP UI5 利用开发教程之六 - 理解 SAP UI5 的模块(Module)概念SAP UI5 利用开发教程之七 - JSON 模型初探SAP UI5 利用开发教程之八 - 多语言的反对SAP UI5 利用开发教程之九 - 创立第一个 ComponentSAP UI5 利用开发教程之十 - 什么是 SAP UI5 利用的描述符 DescriptorSAP UI5 利用开发教程之十一 :SAP UI5 容器类控件 Page 和 PanelSAP UI5 利用开发教程之十二 - 应用 CSS 类对 UI 进行进一步丑化SAP UI5 利用开发教程之十三 - 如何增加自定义 CSS 类SAP UI5 利用开发教程之十四 - 嵌入视图的应用形式SAP UI5 利用开发教程之十五 - 对话框和 Fragments 的应用形式SAP UI5 利用开发教程之十六 - 图标 icon 的应用SAP UI5 利用开发教程之十七 - 聚合绑定在 UI5 复合控件中的应用SAP UI5 利用开发教程之十八 - SAP UI5 数据绑定语法里的特殊符号,以及相对绑定和绝对绑定概念详解SAP UI5 利用开发教程之十九 - SAP UI5 数据类型和简单的数据绑定SAP UI5 利用开发教程之二十 - SAP UI5 的表达式绑定用法解说SAP UI5 利用开发教程之二十一 - SAP UI5 的自定义格局器 Custom FormatterSAP UI5 利用开发教程之二十二 - 过滤器 filter 的开发和应用SAP UI5 利用开发教程之二十三 - 列表控件的排序 Sort 和分组 GroupSAP UI5 利用开发教程之二十四 - 如何应用 OData 数据模型SAP UI5 利用开发教程之二十五 - 应用代理服务器解决 SAP UI5 利用拜访远端 OData 服务的跨域问题SAP UI5 利用开发教程之二十六 - OData 服务配合 Mock 服务器的应用步骤详解SAP UI5 利用开发教程之二十七 - SAP UI5 利用的单元测试工具 QUnit 介绍SAP UI5 利用开发教程之二十八 - SAP UI5 利用的集成测试工具 OPA 介绍SAP UI5 利用开发教程之二十九 - SAP UI5 的路由和导航性能介绍SAP UI5 利用开发教程之三十 - SAP UI5 的路由过程中进行参数传递SAP UI5 利用开发教程之三十一 - SAP UI5 的路由历史和路由回退(Routing back and history)SAP UI5 利用开发教程之三十二 - 如何创立一个自定义 SAP UI5 控件SAP UI5 利用开发教程之三十三 - SAP UI5 利用的响应式布局个性(Responsiveness)SAP UI5 利用开发教程之三十四 - SAP UI5 利用基于设施类型的页面适配性能(Device Adaptation)SAP UI5 利用开发教程之三十五 - 如何把本地开发的 SAP UI5 利用部署到 ABAP 服务器上SAP UI5 利用开发教程之三十六 - 应用 Chrome 开发者工具 Elements 标签动静批改 CSS 类阐明Jerry 从 2014 年退出 SAP成都研究院 CRM Fiori 开发团队之后开始接触 SAP UI5,已经在 SAP 社区和“汪子熙”微信公众号上发表过多篇对于 SAP UI5 工作原理和源码解析的文章。 ...

February 22, 2022 · 2 min · jiezi

关于chrome:Chrome浏览器为什么是多进程而不是多线程

豆皮粉儿们,又到了金三银四的求职淡季,明天这一期由字节跳动数据平台的“hmj不是黄焖鸡”,给大家分享前端面试中可能会遇到一个对于浏览器的知识点“Chrome浏览器为什么是多过程而不是单过程”,该文帮大家梳理了知识点内容,让你们能更好的了解~ 一年之计在于春,祝正在找新工作的你们,offer拿到手软,money多多~ 上面就让咱们开始浏览吧。 本文作者:hmj不是黄焖鸡首先须要晓得,过程和线程之间的关系是过程中的任一线程出错,都可能导致整个过程的解体。线程之间是会共享过程中的数据。过程之间的内容是互相隔离的,如果一个过程解体或者挂起了,是不会影响其余过程的。过程间通信是通过IPC机制。当过程敞开后,操作系统会回收过程所占用的内存。浏览器存在单过程架构、多过程架构单过程架构的浏览器所有的功能模块都是运行在同一个过程里的,可能会导致浏览器不稳固、不晦涩和不平安。 不稳固单过程浏览器的功能模块运行在同一过程中,采纳多线程的形式运行,如果有一个线程解体或者呈现问题,就可能会导致整个过程解体。例如javascript环境是运行在页面线程中的 ,可能会因为代码的意外解体导致整个浏览器解体。不晦涩页面渲染、页面展示、JavaScript环境、插件等都是运行在同一个页面线程中,意味着同一时刻只能有一个工作能够执行。例如编写一个无线循环的脚本运行在单过程浏览器页面中,会独占页面线程,导致其余工作无奈执行,会导致整个浏览器失去响应、卡顿。另外页面的内存泄露也是造成卡顿的一个起因。不平安插件或者脚本通过浏览器获取零碎权限,引发平安问题。多过程架构的浏览器Chrome的官网文档 采纳多过程能够使浏览器具备更好的容错性,提供安全性和沙盒性。因为操作系统能够提供办法限度每个过程领有的能力,所以浏览器能够让某些过程只能具备特定的性能,例如Chrome的Tab限度了对系统文件的读写能力,然而多过程的浏览器有一个毛病,就是过程的内存占用绝对更多,然而Chrome为了节俭内存,会限度被启动的过程数,当过程数达到界线后,会将拜访同一个网站的tab都放在一个过程里运行。 Chrome浏览器有哪些过程呢浏览器过程(Browser Process),这个是浏览器的主过程,次要负责包含地址栏、后退后退按钮、解决网络拜访、文件拜访等。渲染过程(Renderer Process),管制显示网站的选项卡内的所有内容。插件过程(Plugin Process),管制网站应用的所有插件。GPU(GPU Process),与其余过程隔离解决GPU工作,因为GPU解决来自多个应用程序的申请并将它们绘制在同一外表上,因而将其分为不同的过程。网络过程(NetWork Process),负责页面的网络资源加载,之前是放在浏览器过程中的一个线程运行,当初独立进去。通过一个陈词滥调的面试题简略梳理下浏览器各个过程之间的工作和流程Chrome浏览器地址栏输出一个URL后产生了什么? 在输出一个地址的时候,浏览器过程中的UI线程会去解析是搜寻内容还是URL。当用户确认输出内容,UI线程会将URL转发给网络过程,网络过程会发动网络申请期待响应。网络过程接管到响应头数据,解析响应头,并转发给浏览器过程。浏览器过程接管到响应头数据后便发送CommitNavigation音讯到渲染过程。渲染过程开始筹备接管HTML数据,通过和网络过程建设数据管道接收数据。渲染过程会反馈给浏览器过程“确认提交”,告知浏览器过程曾经筹备好接管页面数据。浏览器过程移除之前的旧文档,更新页面状态。面向服务化的架构 在Chrome的工作管理器中咱们能够看到,Chrome曾经在朝着这个方向变动,network service、storage service等都曾经是服务化,这样这些性能既能够放在不同的过程外面运行也能够合并为一个独立的过程。 The End

February 22, 2022 · 1 min · jiezi

关于chrome:Chrome插件安装

1、如果你领有非凡的网络,关上Chrome利用商店,而后抉择须要的插件点击增加至Chrome 就能够应用了 2、如果你没有非凡的网络,那么上面的办法能够帮你装置想要的插件1、下载你须要的插件,而后在Chrome 的地址栏中输出 chrome://extensions,或者找到 设置->扩大程序,关上扩大程序管理页面,2、而后关上开发者模式3、将下载的插件,即crx文件拖曳到扩大程序页面,而后实现装置。 3、下载插件的网站举荐1、极简插件极简插件 插件全面,举荐的都是精品插件,没有任何广告成分。并且下载不便,速度快,不须要验证码。2、GugeApps这个网站就是谷歌插件的国内镜像网站,所以Google 下面有的插件这个下面都有,下载速度也快,下载须要关注公众号获取验证码。3、扩大迷扩大迷是一个下载插件十分有名的网站,Chrome商店有的插件这个外面简直都有,举荐的插件都是精品插件,并且版本都是最新的。下载须要关注公众号获取验证码。

February 18, 2022 · 1 min · jiezi

关于chrome:探一探现代浏览器的内部机制一

本文翻译自Inside look at modern web browser (part 1)原文作者:Mariko Kosaka翻译:GomiCPU,GPU,内存以及多过程架构在这个系列中,咱们将会从高层架构的角度深刻到Chrome浏览器渲染流程的具体细节。如果你想晓得浏览器是如何将你的代码变成一个可用的网站,亦或者你不分明为何会倡议你应用特定的技术来进步网站的性能,那么本系列适宜你。 作为本系列的第 1 局部,咱们将理解外围计算术语和 Chrome 的多过程架构。 如果你相熟CPU/GPU和过程/线程,你能够跳到浏览器架构一、计算机的外围:CPU和GPU为了理解浏览器的运行环境,咱们须要理解一些计算机部件以及它们的作用。 CPU首先是中央处理器(CPU)。CPU能够看作是计算机的大脑。一颗CPU内核,在此图中被描绘成一个办公室员工,当工作呈现时,它能一个一个地解决许多不同的工作。它能够解决从数学到艺术的所有事件,同时晓得如何回复客户的电话。在过来,大多数CPU都是单芯片的。内核就像另一个CPU生存在同一个芯片中。在古代硬件中,你通常会失去多个内核,从而为你的手机和笔记本电脑提供更强的计算能力。图1:4个CPU内核作为办公室工作人员坐在每张办公桌前解决进来的工作 GPU图形处理器(GPU)是计算机的另一部分。与CPU不同,GPU善于解决简略的工作,但能够同时跨多个内核。顾名思义,它最后是为解决图形而开发的。这就是为什么在图形上下文(可能是指电脑的GPU选项)中“应用GPU”或“GPU反对”与疾速渲染和晦涩交互无关。近年来,随着GPU减速图像处理技术的倒退,越来越多的计算在GPU上成为了可能。图2:许多带有扳手的GPU内核表明它们只能解决无限的工作 当你在计算机或手机上启动应用程序时,CPU和GPU是驱动程序的外围。大部分状况下,应用程序会依据操作系统提供的机制运行在CPU和GPU上。图3:三层计算机架构。机器硬件在底层,操作系统在两头,应用程序在顶层 二、在过程和线程上执行程序在深入研究浏览器架构之前要把握的另一个概念是过程和线程。过程能够形容为应用程序的执行程序。线程是存在于过程外部并执行其过程程序的任何局部的线程。 当你启动应用程序时,计算机会创立一个过程。该程序可能会创立线程来帮忙它工作,但这是可选的。操作系统为过程提供了一块可应用的内存“平板”,所有应用程序状态都保留在该公有内存空间中。当你敞开应用程序时,该过程也会隐没,并且操作系统会开释内存。 图4:过程作为边界框,线程作为形象的鱼在过程内游动 图5:应用内存空间和存储应用程序数据的过程图 一个过程能够要求操作系统启动另一个过程来运行不同的工作。产生这种状况时,将为新过程分配内存的不同局部。如果两个过程须要通信,它们能够应用过程间通信(IPC)来实现。许多应用程序被设计为以这种形式工作,因而,如果一个过程没有响应,它不会影响其余运行在不同应用程序上的过程,而后重新启动。图6:通过IPC进行通信的独立过程示意图 三、浏览器架构那么如何应用过程和线程构建Web浏览器呢?好吧,它可能是一个具备许多不同线程的过程,也可能是许多不同的过程,其中有几个线程通过IPC进行通信。图7:过程/线程图中的不同浏览器架构 这里要着重留神的是,图中这些不同的架构是实现细节,并没有对于如何构建 Web 浏览器的标准规范,一种浏览器的构建可能与另一种齐全不同。 接下来咱们将应用下图中形容的Chrome的最新架构。 顶部是浏览器过程与解决应用程序不同局部的其余过程协调。对于渲染器过程,会创立多个过程并将其调配给每个网页。直到最近,Chrome还在可能的状况下为每个网页提供了一个过程;当初Chrome尝试为每个站点提供本人的过程,包含iframes([站点隔离]。(https://developers.google.com...))图8:Chrome的多过程架构图。渲染器过程下显示了多个图层,以示意Chrome为每个选项卡运行多个渲染器过程 四、每个过程对应管制的局部下表形容了每个Chrome过程及其管制的内容: 浏览器过程管制“chrome”应用程序局部,包含地址栏、书签、后退和后退按钮。还解决浏览器中不可见的特权局部,例如网络申请和文件拜访渲染器过程管制显示网页内的任何显示的内容插件(plugin)过程管制网站应用的任何插件,例如FlashGPU过程独立于其余过程,解决GPU工作。它被分成不同的过程,因为GPU解决来自多个应用程序的申请并将它们绘制在同一个外表上。浏览器插件(Extension)过程管制浏览器插件,比方油猴、Vue Devtools等实用程序过程管制一些其余实用程序的过程,比方V8代理解析工具,音频服务等图9:指向浏览器 UI 不同局部的不同过程 五、Chrome中多过程架构的益处之前,我提到Chrome应用多个渲染器过程。在最简略的状况下,你能够设想每个网页都有本人的渲染器过程。假如你关上了3个网页,每个网页都由一个独立的渲染器过程运行。如果一个网页变得无响应,那么你能够敞开无响应的网页并持续下一步,同时放弃其余网页处于活动状态。如果所有网页都在一个过程上运行,则当一个网页无响应时,所有网页均无响应,这很喜剧。 图10:显示运行每个选项卡的多个过程的图表 将浏览器的工作划分成多个过程的另一个益处,是安全性和隔离性。因为操作系统提供了一种限度过程权限的办法,因而浏览器能够从某些性能对某些过程进行沙箱化解决。例如,Chrome浏览器对那些解决用户输出的过程(如渲染器过程),限度了文件的拜访权限。 因为过程有本人的公有内存空间,它们通常蕴含通用基础设施的正本(例如V8,它是Chrome的 JavaScript引擎)。这意味着更多的内存应用,因为它们不能像在同一过程中的线程那样共享。为了节俭内存,Chrome限度了它能够启动的过程数。这种限度取决于你的设施领有多少内存和CPU解决能力,然而当Chrome达到极限时,它会开始在一个过程中运行来自同一站点的多个网页页签。 六、节俭更多的内存 - Chrome中的服务化雷同的办法实用于浏览器过程。 Chrome正在经验架构更改,以将浏览器程序的每个局部作为服务运行,从而能够轻松拆分为不同的过程或聚合为一个。 个别的想法是,当Chrome在弱小的硬件上运行时,它可能会将每个服务拆分为不同的过程以提供更高的稳定性,但如果它在资源受限的设施上,Chrome会将服务整合到一个过程中以节俭内存占用。在此更改之前,已在Android等平台上应用了相似的整合流程办法来缩小内存的应用。 图11:Chrome的服务化图将不同的服务挪动到多个过程和单个浏览器过程中 七、帧渲染器过程 - 站点隔离站点隔离是Chrome中最近引入的一项性能,它为每个跨站点iframe运行独自的渲染器过程。咱们始终在探讨每个网页页签一个渲染器过程,它容许跨站点iframe在单个渲染器过程中运行,并在不同站点之间共享内存空间。在同一个渲染器过程中运行a.com和b.com仿佛没问题。同源策略是网络的外围平安模型;它确保一个站点在未经批准的状况下无法访问其余站点的数据。绕过此策略是平安攻打的次要指标。过程隔离是分隔站点的最无效办法。因为Meltdown和Spectre(安全漏洞)的呈现,咱们更加须要应用不同的过程来隔离站点。自Chrome 67起,默认状况下在桌面上启用站点隔离,网页中的每个跨站点iframe都会取得一个独自的渲染器过程。图12:站点隔离示意图;指向站点内 iframe 的多个渲染器过程 启用站点隔离是一项多年的工程工作。 站点隔离并不像调配不同的渲染器过程那么简略; 它从根本上扭转了iframe互相通信的形式。 从不同过程上运行iframe的页面,关上devtools,意味着 devtools必须执行后台任务以使其看起来无缝集成。 即便运行一个简略的Ctrl+F在页面中查找单词,也意味着在不同的渲染器过程中进行搜寻。 这就是为什么浏览器工程师会将“站点隔离”的公布称为重要里程碑的起因! 八、总结在这篇文章中,咱们从一个更高的视角介绍了浏览器架构,并介绍了多过程架构的益处。 咱们还介绍了与多过程架构密切相关的Chrome中的服务化和站点隔离。 在下一篇文章中,咱们将开始深入研究,为了胜利展现一个网站,这些过程和线程之间产生了哪些事件。

February 15, 2022 · 1 min · jiezi

关于chrome:解决chrome浏览器高版本98版本无法在本地手动添加cookie刷新无法保留cookie项报红的问题

本文转载于 lauchenn原创 https://blog.csdn.net/Czhongy... 解决chrome浏览器91版本SameSite by default cookies被移除后的解决方案,Chrome中跨域POST申请无奈携带Cookie的解决方案 谷歌浏览器主动降级到了98版本,因为之前我的项目是须要手动增加一个cookie在本地开发调试的,当初就无奈手动进行增加cookie了,而且高版本移除了SameSite by default cookies,导致之前的办法不能应用,手动设置之后cookie还报红色,如下当初只须要关上Chrome中拜访地址chrome://flags/ 搜寻Partitioned cookies将设置项改为Enabled即可,重启浏览器,手动增加cookie将会保留,且不会报红,丝滑般享受

February 10, 2022 · 1 min · jiezi

关于chrome:谷歌浏览器代理插件SwitchyOmega安装

1、下载地址 https://www.chromedownloads.n... 2、下载实现后,关上Google更多工具扩大程序: 3、将下载的文件重命名为.rar文件,并实现解压: 4、在谷歌浏览器中加载已解压的扩大程序,导入解压的安装包。 5、到此结束能够应用,间接拖拽会提醒异样。

January 28, 2022 · 1 min · jiezi

关于chrome:consolelog无法打印

chrome 浏览器的控制台应用console.log无奈打印数据. 失常状况下: 无奈打印状况下: 起因1:增加了filter过滤,解决办法:去掉filter过滤即可 起因2:某些网页生产模式下把console.log重写成空函数了,所以无奈调用 console.log = ()=>{}

January 27, 2022 · 1 min · jiezi

关于chrome:chrome插件教程终使用vue来开发chrome插件

后面,咱们曾经理解了各页面之间的通信. 权限等一系列的操作. 曾经把握了根本能够开发chrome扩大的技能. 剩下的就是须要用到某些api查看一下api文档就能开发了.对于当代前端来说. 咱们仅仅用原生的js和html来写咱们的代码. 这样就提现不出咱们的价值了. 这里咱们就依据之前的一些代码. 来解决咱们的古代框架vue来开发咱们的插件. 技术栈这里咱们所须要应用的技术栈如下 scsswebpack5vue3vue-router4vant3这里咱们应用的都是最新的版本. 就是要shuai 布局打包后的目录构造首先,咱们得想明确咱们须要打包成什么样的目录. 咱们依据之前的示例. 咱们定义出如下的目录 background.jsmanifest.jsonassetscontent.jsoption.htmloption.jspopup.htmlpopup.jsdevtool.htmldevtool.jsdevtool/panel.htmldevtool/panel.jsdevtool/sidebar.htmldevtool/sidebar.js这是咱们打包过后最终的目录. 有了一个大略的构造过后,咱们就开始来解决咱们的代码. 初始目录咱们布局好目录过后, 就须要解决咱们的我的项目门路了. 随便建设一个目录. 而后应用如下命令. npm init如果没有node. 请自行装置. 我这里就不做过多的形容了. 执行过后. 就有一堆输出协定之类的货色. 所有操作结束过后. 就有了咱们的package.json. 最次要的就是初始化这个json文件. 咱们好不便本人操作. 首先装置咱们的根底. webpack. npm install webpack --save-dev实现过后. 咱们就须要对咱们的我的项目目录得有所布局了. 布局我的项目目录首先. 咱们的最外层必定都的是一些全局型的配置和目录. 例如babel.config.js. 例如package.json这些都在最外层. 咱们的外围代码都放到src目录上面. 有一个专门用于打包文件代码存储的中央. 咱们chrome的入口必定也得有一个. 放到src上面. 有了以上根本的货色. 就能失去咱们大略的文件目录是什么样子的了. 我的文件目录如下. build // webpack打包配置dist // 打包过后的文件node_modules // npm模块public // 根底文件src // 外围代码src/entry // chrome所有页面的入口src/routers // 咱们本人定义的路由.src/views // chrome的所有页面src/content.js // content script 入口src/background.js // service worker入口utils // 工具类webpack首先咱们的定义咱们webpack打包时的入口. 因为咱们有开发时候的环境和生成环境. 咱们咱们build文件夹上面就有以下3个文件 ...

January 18, 2022 · 4 min · jiezi

关于chrome:chrome插件教程5了解csp网站安全策略

要理解csp. 得先晓得这个玩意到底是为了防备什么的. 首先csp的策略xss. 跨站脚本攻打. 这个也是网页危害最大, 最常见的网页安全漏洞. 而csp则是规定网页能够加载和执行哪些脚本和款式. 应用形式首先. csp的应用形式分为两种. 一种通过header申请头输入. 大抵如下 Content-Security-Policy: ....另外一种形式则是通过meta标签来进行. 如下. <meta http-equiv="Content-Security-Policy" content="script-src 'self'; object-src 'none'; style-src cdn.example.org third-party.org; child-src https:">能限度什么首先. csp能够限度js、image、css、web font,ajax 申请,iframe,多媒体等. 大抵的反对的能够看一这里. chrome的cspchrome在25的时候就引入了csp策略. 在插件3版本的时候依照如下来应用 { // 内容限度策略 csp "content_security_policy": {...}, // csp内容策略 embedder "cross_origin_embedder_policy": {"value": "require-corp"}, // csp关上策略 "cross_origin_opener_policy": {"value": "same-origin"},}这里的csp是严格版本. 只能反对如下的申明. script-src: self|none|Anyurlobject-src: self|none|Anyurlworker-src: self|none|Anyurl其中,值的解释如下 self 容许来自雷同起源的内(雷同的协定.域名和端口)none 不容许任何内容anyurl 容许加载指定域名下的内容csp限度策略在chrome间接依照如下的形式进行应用 "content_security_policy": { "extension_pages": "script-src 'self';object-src 'none'"}则容许加载本站的脚本, 禁止加载其余内容. 如果将script-src设置为none.则无奈加载js. 最初请妥善应用csp. 避免本人的内容无奈加载. 源代码

January 18, 2022 · 1 min · jiezi

关于chrome:chrome插件教程4处理页面和入口之间的通信

接上篇文章, 咱们晓得了如何定义chrome的各种入口和页面. 那如何来解决页面和入口之间的通信呢. 因为定义的页面和入口更多. 各种之间的通信尤为重要. 这里只介绍content script,popup, options, service worker, devtools之间的通信. popup to content scriptpopup页面到content script之间通信很简略. 能够在popup.js中应用.chrome.tabs.sendMessage chrome.tabs.sendMessage(tab_id, params, (ret) => { console.log('调用一次') console.log(ret)});在content script中申明事件监听就能够了. 如下. chrome.runtime.onMessage.addListener((event, sender, callable) => { console.log('收到popup的音讯') callable('给popup发一次音讯')})这样就实现调用了. 当然. 你能够通过sender外面的参数来进行区别是什么事件. 构造的话能够看这篇文章. 留神content script外面的监听是所有的监听. popup to service workerpopup-servicework也是通过下面的监听事件来进行. 如下. 首先在background.js中监听事件 chrome.runtime.onMessage.addListener((event, sender, callable) => { console.log(event) callable('回复一下音讯')})而后在popup.js外面间接应用如下的形式即可调用. chrome.runtime.sendMessage('调用后盾一次', (ret) => { console.log(ret)})这样就能通过事件来进行消息传递了. content to service workercontent也是如同popup.js一样. 间接应用chrome.runtime.sendMessage来进行调用. 如下 chrome.runtime.sendMessage('content调用一次', function() { console.log('调用胜利')})devtools to service worker留神. 因为devtools的特殊性. 只能调用service worker. 能够通过同popup一样的形式来进行调用. ...

January 18, 2022 · 1 min · jiezi

关于chrome:chrome插件教程3自定义页面和入口

后面,咱们实现了一个简略的插件. 也晓得了manifest.json的格局. 当初咱们就来看一看chrome浏览器在哪些入口来操作咱们的插件. 这里只介绍罕用的. popup页面这个我就不多说了. 后面的咱们用来做批量关上的小工具时. 就是用了popup的入口. 额定留神. 这里是一个单入口文件. 在manifest.json中这样申明 "action": { "default_popup": "popup.html"}就自定义好了. option页面option选项. 这里就是能够自定义插件的选项配置. 这里能够定义一些插件运行过程的所需的配置. 申明如下 "options_page": "options.html"这样就申明了一个options的页面. 而后入口是options.html. 简略书写一个. 如下. <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>options</title></head><body> <h1>这里是options页面</h1></body></html>关上过后就是上面这个样子尽管有点low. 阐明就好了. devtools_page如果要应用devtools_page, 就须要在manifest.json申明. 如下 "devtools_page": "devtools.html"这样就指定了一个html.留神. 这里仅仅是入口. 如果你指定了devtools.html过后. 如果外面没有创立其余货色. 你将看不到任何输入和后果. 仅仅用于当作是入口而已. 在devtools中. 有两中形式能够查看. 一个是panel. 面板. 展现在devtools的工具栏上. 如下.还有一种叫做sidebar. 这种展现在devtools的右侧. 如下.上面就简略创立一下. 首先引入devtools.html是必要条件. 外面的内容如下 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Devtools</title></head><body> <h1>devtools</h1> <script src="devtools.js"></script></body></html>而后在同级目录下创立devtools.js. 外面内容如下. // 申明panel.htmlchrome.devtools.panels.create("CRX Panel", "assets/logo.png", "devtool/panel.html", function(panel) { console.log('创立胜利了') });// 申明sidebar.htmlchrome.devtools.panels.elements.createSidebarPane("Crx Sidebar", function(sidebar) { sidebar.setPage("devtool/sidebar.html"); sidebar.setHeight("8ex"); });而后在devtool文件夹下申明panel.html和sidebar.html. panel.html如下 ...

January 18, 2022 · 1 min · jiezi

关于chrome:chrome插件教程2一个简单的chrome扩展

后面咱们介绍了manifest.json文件. 对于chrome扩大的目录和配置有了一个大略的概念. 咱们就依据后面的chrome的manifest.json来书写一个非常简单的chrome的插件. 就是批量关上网站. 定义目录首先, 咱们依据后面的来定义一下咱们的开发目录. 首先咱们得有一个manifest.json. 而后咱们的扩大是位于popup页面. 所以咱们得有一个popup.html和popup.js. 而后咱们还得有一个assets用来寄存咱们得图标. 有了以上的构想, 能够失去咱们的初始目录后果. 如下 manifest.jsonpopup.htmlpopup.jsassets/logo.png这样咱们就做好了咱们的筹备工作. 定义manifest.json咱们须要有一个popup页面. 而后咱们须要有一个tab的权限用于关上网站的. 咱们先申明一个简略的manifest.json. 如下 { "manifest_version": 3, // 定义版本 "name": "CRX", // 扩大名称 "version": "1.0.0", // 版本号 "icons": { // 图标定义 "16": "assets/logo.png", "48": "assets/logo.png", "128": "assets/logo.png" }, "action": { "default_popup": "popup.html" // 定义默认的popup页面 }, "permissions": [ // 所应用的权限 "tabs" ]}有了以上的货色, 咱们就须要书写咱们的popup页面 popup页面咱们这个页面非常简单. 只须要一个form表单和一个textarea. 加上两个button按钮就能够了. 所以大抵的代码如下 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Crx popup</title> <style> body{ width: 300px; height: 400px; padding: 20px; } </style></head><body> <form> <div class="form-item"> <textarea name="urls" cols="30" rows="10"></textarea> </div> <div class="button-wrapper"> <button type="submit">提交</button> <button type="reset">重置</button> </div> </form><!-- 引入popup.js --><script src="popup.js"></script></body></html>定义好了咱们的页面.并且引入的popup.js. 而后咱们在popup.js中注册onsubmit事件. 如下 ...

January 18, 2022 · 1 min · jiezi

关于chrome:了不起的Chrome浏览器102021年Chrome有哪些最值得关注的变化

2008年9月2日,Chrome浏览器终于公布了,长达2年的机密开发没有徒劳,出道即巅峰: 采纳多过程架构,防止某个Tab解体导致整个浏览器解体开发了全新的V8引擎,将JavaScript的执行速度晋升了1个数量级设计了十分简洁的用户界面,十分重视用户体验,比方可拖拽的Tab、反对搜寻的地址栏、默认暗藏书签栏、隐身模式等当年主管Chrome我的项目的Sundar Pichai,在公布Chrome时是这样说的: We hope to collaborate with the entire community to help drive the web forward.这种吹牛的话个别没人置信,不过Chrome真的做到了,而Pichai也因为领导Chrome我的项目所展示的杰出的远见和能力,起初出任谷歌CEO,走向人生巅峰。 Chrome不仅市占率第一,并且间接以及间接推动了一系列Web技术的提高:V8、ECMASCript 2015、HTTP/2、HTTP/3、QUIC、HTTPS、WebAssembly、WebGPU。。。 并不夸大地说,理解Chrome的倒退能够帮忙咱们了解整个前端行业的发展趋势,因为浏览器的能力就是前端行业的边界所在,而次要推动浏览器提高的就是Chrome。 那么,2021年,Chrome有哪些值得关注的变动呢? 对于《了不起的Chrome浏览器》2021年,我开始写《了不起的Chrome浏览器》,这是我写得最长的一个系列博客,一共9篇: 了不起的Chrome浏览器(1):Chrome 89开启Web利用的物联网时代了不起的Chrome浏览器(2):Chrome 90将默认应用HTTPS,Web更平安了了不起的Chrome浏览器(3):Chrome 91反对WebAssembly SIMD,减速Web在AI等畛域的利用了不起的Chrome浏览器(4):Chrome 92新增at和randomUUID办法,Canvas反对Display P3色域了不起的Chrome浏览器(5):Chrome 93反对Error Cause,我国首个ECMAScript提案能够用了了不起的Chrome浏览器(6):Chrome 94开始WebGPU试用,Web的图像渲染及机器学能力更强了了不起的Chrome浏览器(7):Chrome 95终于反对WebAssembly异样解决了了不起的Chrome浏览器(8):Chrome 96也反对WebAssembly援用类型了!了不起的Chrome浏览器(9):Chrome 97公布WebTransport,QUIC协定小试牛刀为了写这篇博客,我把《了不起的Chrome浏览器》博客全副浏览了一遍,发现自己真的写了好多知识点:从简略的ECMAScript新个性(Top-level await、Array.prototype.at)、到简单的安全漏洞(NAT Slipstream 2.0、ALPACA、Sweet32)、再到有意思的Web API(Web NFC、Web Serial API、Secure payment confirmation)、以及一些重要的技术创新(WebAssembly SIMD、WebGPU、WebCodecs)。其实,很多常识细节我都有点忘了,再看一遍也挺有播种的。这也是写作的益处之一,能够作为学习笔记,以便须要的时候查阅。 写Chrome博客破费了我大量的业余时间,继续更新其实挺难的。不过,写作原本就是我的趣味,也是最重要的学习形式之一,所以我还是保持下来了。 《了不起的Chrome浏览器》的累计浏览量还不错,均匀每篇博客的全网浏览量在5000以上,每篇博客的具体浏览量如下图所示: 我的长期指标是在2025年出版一本对于Chrome的书,毕竟出书是很多酷爱写作的人最高的谋求。这本书首先要有肯定的技术深度,同时可读性要足够好,并且能讲清楚技术倒退背地的起因,包含技术和商业动机。 所以,写《了不起的Chrome浏览器》博客对我来说,相当于积攒写书的素材和灵感。当然,写技术书其实并不怎么赚钱,我也不是为了赚钱,更加不会为了赚钱去写一些没有价值的内容。 Chrome 20212021年,Chrome一共公布了9个版本,从Chrome 88到Chrome96: 日期Chrome版本亮点2021-01-19Chrome 88移除Flash2021-03-02Chrome 89WebNFC2021-04-13Chrome 90AV1 Encoder2021-05-25Chrome 91WebAssembly SIMD2021-07-20Chrome 92 2021-08-31Chrome 93Error Cause2021-09-21Chrome 94WebGPU2021-10-19Chrome 95WebAssembly Exception Handling2021-11-16Chrome 96WebAssembly Reference Types我是从Chrome 89开始写《了不起的Chrome浏览器》博客的,所以错过了Chrome 88。另外,Chrome 92切实没有发现什么特地大亮点,大略是其余版本太卷了。。。整体来看,Chrome在2021年的体现相当让人惊艳。 ...

January 12, 2022 · 3 min · jiezi

关于chrome:chrome开发者工具02console面板

录了段视频放在b站了https://www.bilibili.com/vide... 视频比文章更分明具体 1,编辑代码:一些快捷键:执行:enter换行:shift enter主动补全:tab 高低方向键:上一次输出/下一次输出 跳到行首/行尾:home / end跳到段首断尾:ctrl home / ctrl end 或者 page up / page down 2,魔术变量$:相当于document.querySelector$$:相当于document.querySelectorAll $0:以后选中的DOM元素$_ :上一次执行的后果copy函数:把变量复制到剪切板,复制之后 按ctrl v 能够粘贴留神:这些变量只是在控制台里有,开发调试时用着不便,在js文件里写 是不行的。 3,对象 是活的(第一次开展时的值) 4.console打日志console.log:信息consolg.warn:正告console.error:谬误console.trace:看函数调用栈console.time console.timeEnd两次调用工夫相差1151毫秒 console.profileconsole.profileEnd:记录性能形容信息 console.profile('test')doSomething()console.profileEnd('test')function doSomething(){}而后去 More tools -> JavaScript Profiler 能够看到相干的信息 点击点击左边的文件名能够跳转到source面板中代码所在的地位 5,工具栏搜寻、菜单栏(革除、过滤、默认级别、) 6,设置preserve log:(刷新页面时)保留日志auto complete from history:主动补全历史数据、selected context only:只显示以后执行上下文的日志(默认不勾选,个别状况下不要勾选)group similar messages in console:间断打的同样的log只显示一行Eager Evaluation:控制台写表达式时,显示预览后果 evaluate triggers user activation:检测触发用户激活有一些api只有在用户有操作的时候能力调用,用户没有操作的时候,js调用不执行,比方window.open()、有声视频的自动播放;然而控制台在默认状况下(这个按钮勾选了)没有这个限度,调用api能失常执行。同一段代码,在控制台运行的成果与代码在网页中运行的成果不一样。如果想让在控制台调试时的成果与代码在网页中运行的实际效果统一,能够把evaluate triggers user activation勾销勾选。

January 7, 2022 · 1 min · jiezi

关于chrome:谷歌-Chrome-97-推出-keyboard-MAP-API-再引争议业内对家纷纷抵制

北京工夫 1 月 5 日(美国工夫 1 月 4 日晚些时候),谷歌官网正式公布了 Chrome 97 稳固版本浏览器,并已开始通过浏览器的自动更新零碎推出。值得关注的是,此次 Chrome 97 新版本公布时更新的一个键盘 API(keyboard MAP API )引起了不小争议。 据悉,此前因为 keyboard MAP API 无奈在 iFrame 中应用,所以之前的一些 web 体验者也没法用这个性能,微软的 Office web 应用程序等应用程序也无奈利用 API 检测键盘布局上的按键(键盘布局因地区或语言而异)。 而此次 Chrome 97 版本更新的 API,使得 iFrame 内的 web 应用程序能够应用该性能,也就是说 keyboard MAP API 能够取得用户的键盘布局,进一步跟踪和辨认用户,因而也引发了不小争议。 对此,谷歌官网专门对施行该 keyboard MAP API 新性能做了解释: getLayoutMap()与代码联合应用,解决了应用不同布局图(如英语和法语键盘)辨认键盘中按下的理论键的问题,但因为 getLayoutMap()并非在所有上下文中都可用(不能在 iFrame 中应用),比如说 Excel、Word、PowerPoint 等 Office web 应用程序,这些在 Outlook Web、Teams 等外面显示为嵌入式体验并在 iFrame 中运行的利用都无奈应用此 API。但只须要将 Keyboard MAP 增加到容许属性列表中即可解决这个问题。 ...

January 5, 2022 · 1 min · jiezi

关于chrome:chrome-浏览器-扩展程序的导出与导入

导出1. 扩大程序的装置门路找到插件所在的文件夹。默认地位未为 C:\Users\你的用户名\AppData\Local\Google\Chrome\User Data\Default\Extensions也能够先找到chrome装置地位,再点“User Data”-"Default"--"Extensions"进入。 2. 查看浏览器已装置扩大程序 进入扩大程序的治理页面后,能够看到插件的ID.而后依据插件ID,在扩大程序的装置门路中查看对应的文件夹,文件夹名称和插件ID是对应的。也可在电脑外部搜寻。 3. 找到须要打包的扩大程序对应的文件夹。 4. 再次进入chrome扩大程序的治理页面。在浏览器进入chrome://extensions/。点击打包扩大程序即可。呈现如下弹框抉择刚刚看到的版本文件夹,点击打包扩大程序此时,如下。再关上crx 文件对应的门路。此时,扩大程序曾经导出。 导入装置形式一: 能够采纳拖拽的形式将crx文件间接拖到指标浏览器的扩大程序页面(须要再该页面的右上角关上开发者模式。)然而这种形式,过一会就显示扩大程序损坏,无奈持续应用。形式二: 1. 将crx 文件的后缀改为rar。而后解压。2. 在指标浏览器的扩大程序界面,抉择加载已解压的扩大程序。抉择解压后的文件夹即可。

December 29, 2021 · 1 min · jiezi

关于chrome:DevTools-实现原理与性能分析实战

一、引言从 2008 年 Google 开释出第一版的 Chrome 后,整个 Web 开发畛域好像被注入了一股新鲜血液,慢慢突破了 IE 一家独大的时代。Chrome 和 Firefox 是 W3C Web 规范的动摇支持者,随着这两款开源浏览器市场份额逐步加大,迎来了开发者的春天。这就迎来了一个新的职业分工——前端工程师 frontend-engineer,前端工程师促成了 Web 利用的凋敝,功能强大的调试工具必不可少。Google 基于开源的根底上趁势推出了 DevTools,广受网页开发者的好评,随即也推动了 Chrome 的在商业的胜利。 本文通过剖析 Chrome 的 DevTools 的技术实现,特地是在浏览器内核中的实现局部,来展现这款被万千开发者所青睐的开发工具背地的机密。本文适宜浏览对象次要有前端开发者、有志于开发 Hybrid 利用调试工具或重写 webdriver 实现对 Chrome 或 WebView 管制的利用工程师。 注:本文所有代码剖析,基于 Android Chromium 87.0.4280.141 版本剖析而成。因为笔者所在团队次要从事 Android 平台的 Blink 内核开发,所以剖析过程次要集中在挪动端,其余平台只是数据通路的区别,实现原理差异不大。二、网页调试工具发展史2006 年之前,这属于 IE 时代,在 IE 时代编写 JavaScript 代码时的调试伎俩,次要靠 window.alert() 或将调试信息输入到网页上来剖析逻辑 bug。这种硬 debug 的伎俩,不亚于零碎底层开发,往往一个小问题要花费掉一整天工夫,开发效率极低。 2006 年 1 月份,Apple 的 WebKit 团队开释出第一版本的 Web Inspector,此版本性能还比拟俭朴,仅能够查看 DOM 节点的继承关系,节点所利用了哪些 CSS 的规定。但此版本曾经奠定了今后多年的网页调试工具的原型,具备划时代意义。 ...

December 27, 2021 · 8 min · jiezi

关于chrome:谷歌插件设置页面背景

次要步骤1.manifest.json中申明web_accessible_resources "web_accessible_resources":[ "img/*"]2.在background中创立contextMenus并监听点击事件 var menuItem = { "id" : "resource", "title": "设置背景图", "contexts": ["all"]};chrome.contextMenus.create(menuItem);3.调用chrome.extension.getURL获取图片URL var imgurl = chrome.extension.getURL("img/beauty.jpg");4.调用executeScript chrome.tabs.executeScript(null,{code:"document.body.style.backgroundImage = 'url(\""+imgurl+"\")';\ document.body.style.backgroundRepeat='repeat';"});源码链接:https://pan.baidu.com/s/1p3wk... 提取码:ond1

December 22, 2021 · 1 min · jiezi

关于chrome:谷歌插件04选中文字并右键翻译

需要当咱们选中网页上的文字并右键时,在菜单中显示“应用谷歌翻译”选项,点击该选项后弹出谷歌翻译的窗口并将选中文字翻译成英文。目录构造次要知识点:contextMenus和window的创立次要步骤1.manifest.json中申明background和permissions "background":{ "scripts":["js/translate.js"], "persistent":false},"permissions":[ "contextMenus"]2.在background中创立contextMenus并监听点击事件 var menuItem = { "id" : "translate", "title": "应用谷歌翻译", "contexts": ["selection"]};chrome.contextMenus.create(menuItem);3.创立window显示翻译后果 chrome.contextMenus.onClicked.addListener(function(clickData){ if(clickData.menuItemId == "translate" && clickData.selectionText){ var createData = { url: "https://translate.google.cn/?sl=zh-CN&tl=en&text="+clickData.selectionText+"&op=translate", type: "popup", top: 5, left: 5, width: screen.availWidth/2, height: screen.availHeight/2 } chrome.windows.create(createData); }})源码链接:https://pan.baidu.com/s/1hWQo... 提取码:sar6

December 22, 2021 · 1 min · jiezi

关于chrome:谷歌插件02-在指定页面使用

需要在上次课程中,咱们每次从新加载插件后,会在所有曾经关上的浏览器标签中找到咱们要求的页面并设置插件可用,这并不合乎咱们的理论应用习惯。在理论应用中,咱们须要的是每次关上页面,只有页面合乎咱们的设定条件,就会将插件设置成可用状态。阐明性能的实现波及到2个知识点,第1个是content_scripts,将代码注入到页面中,第2个是音讯发送,当页面符合条件时content_scripts向background(pageAction.js)发送音讯使其设置插件可用。目录构造次要步骤1.manifest.json中申明content_scripts应用 content_scripts 须要先在manifest.json中进行申明 "content_scripts":[ { "matches": ["https://*.baidu.com/"], "js": ["js/jquery-3.3.1.min.js","js/content.js"] }]2.manifest.json中增加指标网页url权限 "permissions":[ "tabs", "https://*.baidu.com/"]3.content.js向background发送音讯 chrome.runtime.sendMessage({todo:"showPageAction"});4.backgroud设置音讯监听 chrome.runtime.onMessage.addListener(function(request, sender, response){ if(request.todo == "showPageAction"){ chrome.tabs.query({active:true,currentWindow:true},function(tabs){ chrome.pageAction.show(tabs[0].id); }) }});效果图指定的网站为https://www.baidu.com/源码链接:https://pan.baidu.com/s/10LiJ... 提取码:46o3

December 22, 2021 · 1 min · jiezi

关于chrome:谷歌插件01在指定页面使用

阐明:设置插件只在某些设定的页面处于可用状态,最直观的景象是,插件的图标只在某些页面是黑白的,否则在非指定的页面图标是灰色的。需要:插件性能只针对淘宝页面,当以后页面为非淘宝页面时,为避免用户误操作,让插件处于不可用状态,只有当页面为淘宝页面时才激活插件。次要步骤:1.新建插件文件夹并在manifest.json中编写page_action "page_action":{ "default_icon":"img/icon.png", "default_title":"page action 插件", "default_popup":"popup.html"}2.在manifest.json中编写background "background":{ "scripts":["js/pageAction.js"], "persistent":false}3.在pageAction.js中设置插件可用页面 chrome.tabs.query({currentWindow:true,url:"https://www.taobao.com/"},function(tabs){ chrome.pageAction.show(tabs[0].id); })4.在manifest.json中增加上一步用到的tabs权限 "permissions":[ "tabs"]5.插件装置和测试 本次课程只是简略介绍pageAction,在第3步中是对以后已关上页面进行查问,所以测试插件时,须要先关上淘宝页面,而后装置插件。更实用残缺的pageAction性能下一课中有解说。效果图源码链接:https://pan.baidu.com/s/1L8ts... 提取码:4spe

December 22, 2021 · 1 min · jiezi

关于chrome:推荐一个-Chrome-浏览历史记录管理的扩展-History-Trends-Unlimited

为什么我要查找这个 Chrome 扩大呢?七月份的时候,我已经浏览过一篇博客,过后遗记珍藏了。当初12月了,我想从新找到那篇博客,然而在 Chrome 历史记录里没有找到。 因而就想寻找一款功能强大的 Chrome 历史记录治理利用。 在 Chrome 扩大商场里转了一圈后,发现了这个扩大。 看看它有哪些性能。 列出本机浏览次数最多的十大网站:排名第一的是 CSDN qq.com 竟然第三,可能是我常常应用微信公众号创作平台的起因?https://mp.weixin.qq.com/ 统计拜访网站次数最多的前十大繁忙日期排名: 每一天每个钟头拜访网站次数的统计图: 如果想查看某天之内拜访的所有网站,在这个 line chart 上点击对应的日期即可: 比方 2021年9月11日,我拜访过的所有网站列表: 有了这个扩大,Chrome 浏览的历史记录治理就轻松多了。 更多Jerry的原创文章,尽在:"汪子熙":

December 13, 2021 · 1 min · jiezi

关于chrome:v2rarN-搭配-SwitchyOmega-自动代理

链接地址

December 12, 2021 · 1 min · jiezi

关于chrome:优秀chrome插件推荐

chrome的劣势全平台: 全零碎(win, mac, liunx), 全平台(挪动端,电脑端)基于google的账户同步体系(书签,插件,历史记录,设置...)简洁的外观,无广告弱小的搜寻栏控制面板中的各种技巧(执行命令,性能剖析)平安(包含国内的XX审查)速度快兼容性高 // 毕竟当初前端开发,都是基于chrome做适配的,曾经成为规范chrome罕用插件举荐chrome五星插件举荐vimium 应用vim的模式操作网页Adblock Plus 广告终结者lastpass 明码管理器crxMouse Chrome Gestures 鼠标手势pocket 稍后浏览autopagerize 主动翻页chrome开发插件举荐json-formatter 格式化json文件octotree 为github增加导航React Developer Tools react开发工具User-Agent Switcher:将浏览器假装成为其余零碎的浏览器Window Resizer 模仿不同窗口大小的成果,不便前端同学做适配,当然也能够应用chrome自带的手机调试模式,自定义屏幕尺寸tampermonkey脚本管理器,能够装置和编写js插入到任意网页Customize Your Web – 折腾你最爱的网站其余扩大印象笔记Shortcut Manager 快捷键一键中转(Shortkeys (Custom Keyboard Shortcuts)FVD Downloader 视频嗅探神器Enable Copy 局部网页禁止游客复制,用该插件即可History Trends Unlimited 历史记录剖析Hover Zoom 图片主动放大Page Monitor 网页监控Autofill主动填表,实现大量重复性工作的利器Stylebot自定义网站外观FireShot 截图软件Linkclump 框选拖动关上多个链接vromechrome的vim插件,和vimium相比性能上弱小的多Lazarus: Form Recovery输入框主动记录器,它能够按站点的保留你已经在该站点输入框中输出的文字,避免浏览器意外敞开导致输出了一半的文字失落的状况。扩大管理器 extension managerForce Background Tab 后盾关上网页花瓣网页珍藏工具chrome用户体验优化插件模拟mac的成果 Apple Scrollbars (iOS, iPhone, iPad) 左侧细条----- Thin Scroll BarChromium Wheel Smooth Scroller 顺滑滚动

December 5, 2021 · 1 min · jiezi

关于chrome:safari浏览器关于时间格式的兼容问题

前两天写一个折线图,测试发现在safari浏览器有bug,排查了半天,发现是Safari对工夫格局解决有问题。 论断先说论断,咱们常常用的工夫格局YYYY-MM-DD HH:mm:ss在Safari浏览器中是不反对的。chrome浏览器中:能够看到new Date能够正确辨认该格局的工夫。再看在safari浏览器中: 思考原生的Date对象不反对,那试下第三方插件是否有兼容这个格局,试了下常见的moment.js插件,成果如下:发现是能够反对的。居然是能够反对的,如我下面所说,我前两天是遇到过这个问题的,而且我过后就是用的moment,没想到明天再试居然能够了。我排查了下,用了旧的moment.js的包,也能够了,那就是当初的Safari浏览器更新了版本后,moment.js反对了,然而原生new Date还是不反对。所以倡议还是不要间接在Safari中应用。 解决办法我感觉最好的解决办法就是把YYYY-MM-DD HH:mm:ss格局的代码转为YYYY/MM/DD HH:mm:ss,这是safari浏览器反对的格局。 "2021-11-11 11:11:11".replace(/-/g, '/')好了,就这样-_-!

November 28, 2021 · 1 min · jiezi

关于chrome:序言

自己在校小硕一枚,本科时用hugo在GitHub和码云上搭建过本人的博客,然而每次重装系统时迁徙博客感觉太麻烦,故来投奔思否。

November 22, 2021 · 1 min · jiezi

关于chrome:介绍一个能避免-CORS-错误的-Chrome-扩展-Moesif-Origin-CORS-Changer

在前端开发人员做开发时,当进入到和后盾 API 联调阶段时,不可避免会遇到 CORS 谬误。 本文介绍一个 Chrome 扩大,能够用来在开发阶段防止 CORS 问题。留神,这个扩大不能用于生产用处,免得引起 security issue. Chrome 扩大地址: https://chrome.google.com/web... 我写了一段简略的 AJAX JavaScript 调用,来产生 CORS 谬误: <html><script>function createXHR () { var XHR = [ function () { return new XMLHttpRequest () }, function () { return new ActiveXObject ("Msxml2.XMLHTTP") }, function () { return new ActiveXObject ("Msxml3.XMLHTTP") }, function () { return new ActiveXObject ("Microsoft.XMLHTTP") } ]; var xhr = null; for (var i = 0; i < XHR.length; i ++) { try { xhr = XHR[i](); } catch(e) { continue } break; } return xhr; }var xhr = createXHR(); xhr.open("GET", "http://localhost:3002/", false); xhr.send(null); console.log(xhr.responseText); </script></html>本地用 Chrome 关上该网页,会遇到预料中的 CORS 谬误: ...

November 16, 2021 · 1 min · jiezi

关于chrome:Chrome-团队提交补丁阻止用户查看网页源代码

11 月 11日,互联网档案馆(Internet Archive) 的一名员工 Jason Scott 公布推特称,Chrome团队为Chromium我的项目提交的一个补丁可用于阻止用户应用浏览器的「查看网页源代码」性能。 此外,他还提到,该补丁的 Owner 是微软的员工,曾负责移除 FTP 反对的我的项目。 从补丁的形容来看,的确如 Jason Scott 所说——通过 URLBlocklist 规定以实现屏蔽 view-source:* 配置项的需要。 但很快就有开发者指出,这个补丁其实存在一个上下文,那就是此前有用户反馈过谬误,他们无奈以管理员身份在组织(公司/学校等)的 Chrome 上配置禁止「查看网页源代码」的性能。 因而,此处的禁止次要面向诸如企业这类组织为管理员提供,「查看网页源代码」并不影响普通用户的应用。

November 12, 2021 · 1 min · jiezi

关于chrome:Chrome-新功能-录制小视频

Chrome 97 推出了一个预览性能 - Recorder。它容许你录制 Web 页面的操作并反对回放,编辑,测量性能 等诸多性能。 它长什么样你能够间接在 chrome devtool 中看到一个 Recorder 面板,点击它就能够体验。 如果没有找到,能够尝试 cmd + shift + p 调出命令面板搜寻 Recorder。当然如果该性能未公布是搜不到的 它有什么用?通过它,你能够实现一些乏味的性能。 比方: 测试同学录制一段“视频”, 而后发送给开发,开发依据这段视频定位问题。测试某一个业务流程在各种不同的网络和硬件环境下的体现,甚至你能够看其在不同平台的体现(比方 PC,手机,平板等)。 自动化测试。你能够录制一段视频,而后通过批改其中局部参数的模式来自动化生成很多测试用例。 。。。因为是预览版,因而最终是什么样可能还不确定。 大招对于我来说,我想要到一个比拟有意思的性能。 咱们晓得 Chrome 的 devtool frontend(就是你看到的开发者工具) 是开源的,代码托管在 Github:https://github.com/ChromeDevT... 因而你能够间接集成它到你的我的项目中。比方你能够开发一个调试工具,这个工具 fork 一下 devtool frontend,而后批改 Recoreder 局部的源码,使得用户能够手动上报本人的录像,而后你将用户的录像数据,网络数据等其余数据发送到你的后端进行剖析。 这个性能我在之前的公司做过,不过做的并不好。而如果依靠于 Chrome 团队,那些辣手的问题都不须要你解决了,比方性能问题就很辣手。 如果你的公司有做用户谬误上报或者信息收集的需要,无妨考虑一下是否能够为你所用。 更多介绍:https://developer.chrome.com/...

November 11, 2021 · 1 min · jiezi

关于chrome:如何给-Chrome-开发者工具设置-Material-Design-风格的主题外观

图一是 Chrome 开发者工具默认的 Light 格调。 在设置选项里,抉择 Dark,即可加载如下图所示的格调: 还能够装置这个 Material DevTools Theme Collection: 在 Chrome 开发者工具的 Experiments 选项里,勾上“Allow extensions to load custom stylesheets”: 而后 Theme 抉择 System preference: 之后即可应用如下图所示的 Material Design Theme: 这三种格调的 Chrome 开发者工具,大家更喜爱哪种? 更多Jerry的原创文章,尽在:"汪子熙":

November 2, 2021 · 1 min · jiezi

关于chrome:清理Google-Chrome浏览器缓存

什么是浏览器缓存?缓存指的是保留在你的浏览器中的一些你上网时产生的网络临时文件。这些文件的目标是存储网页数据,以便在你从新浏览时让网页更快地加载。然而在某些状况下,你可能会须要通过革除缓存来清理一下你的空间,上面咱们将教你个办法来帮忙你革除缓存。 第一步关上后在谷歌浏览器的右上角找到三个小圆点的设置菜单。 第二步进入到设置菜单 第三步1、抉择隐衷设置和安全性2、抉择革除浏览数据第四步进入到革除缓存数据界面后咱们能够抉择须要清理的时间段,勾选“缓存的图片和文件”。 小技巧:在谷歌浏览器的界面上咱们按键盘下面的Ctrl+shift+del可能疾速的关上革除缓存的对话框。chrome浏览器革除缓存的办法就为大家分享到这里啦

October 18, 2021 · 1 min · jiezi

关于chrome:使用-Chrome-开发者工具-coverage-功能分析-web-应用的渲染阻止资源的执行分布情况

渲染阻止资源(render-blocking resources)是浏览器必须下载、解析和执行能力显示页面的内部 JavaScript 或 CSS 文件。 指标是仅运行正确显示页面所需的外围 CSS 和 JavaScript 代码。 关上 coverage 标签页: 点击下图这个图标,会以 instrumenting 模式从新加载利用: 结果显示,webpack 生成的 vendor.js 文件,有多达 40% 的代码并没有在 SAP Spartacus UI 首页加载的时候被执行: 后面有红色横条的代码,阐明 home page 加载时没有被执行: 咱们能够做个试验,如果 vendor.js 基本不加载,后果会如何? 点击这个 more options: 抉择显示“Network request blocking”标签页: 勾上“Enable network request blocking”的勾,增加 vendor.js: 从新刷新,这个 vendor.js 的加载果然被浏览器阻止了: SAP 电商云的 UI 首页也无奈失常被加载了: 更多Jerry的原创文章,尽在:"汪子熙":

October 17, 2021 · 1 min · jiezi

关于chrome:使用-Chrome-开发者工具的-lighthouse-功能分析-web-应用的性能问题

Optimize website speed 每当您着手进步站点的负载性能时,请始终从 audit 开始。 审计有两个重要性能: 它为您创立了一个基线来掂量后续更改。它为您提供无关哪些更改将产生最大影响的可行提醒。本文应用上面这个网站利用作为例子。 https://glitch.com/edit/#!/tony 点击 Tony, 而后再点击 remix this,失去一个名称随机生成的我的项目: 点击 show 按钮,关上一个新的 tab. 按 F12 关上 Chrome 开发者工具,切换到 Lighthouse 标签页: Establish a baseline只选中 Performance 和 Mobile 的checkbox: 点击 generate report,审计工作就开始了: 确保在隐身模式下生成 report,以防止 Chrome 扩大的烦扰。 稍后,审计报表就生成了: 报告顶部的数字是网站的整体性能得分。 稍后,当您对代码进行更改时,您应该会看到这个数字回升。 更高的分数意味着更好的性能。 指标局部提供站点性能的定量测量。 每个指标都提供了对性能不同方面的洞察。 例如,First Contentful Paint 会告诉您内容何时首次绘制到屏幕上,这是用户感知页面加载的一个重要里程碑,而 Time To Interactive 标记着页面仿佛已筹备好解决用户交互的工夫点。 每一个选项都能够点击 learn more 深入研究: Passed audits 蕴含的是该 web 利用通过了的审计我的项目: Diagnostics 栏目下就是该利用存在能够改良的中央: 更多Jerry的原创文章,尽在:"汪子熙": ...

October 17, 2021 · 1 min · jiezi

关于chrome:Chrome-开发者工具-performance-标签页的用法

Analyze runtime performance 运行时性能是您的页面在运行时的体现,而不是加载。 就 RAIL 模型而言,本文介绍的办法对于剖析页面的响应、动画和闲暇阶段十分有用。 在隐身模式下关上谷歌浏览器。 隐身模式可确保 Chrome 以洁净的状态运行。 例如,如果您装置了很多扩大,这些扩大可能会在您的性能测量中产生烦扰。 在您的隐身窗口中加载以下页面。 这是您要剖析的演示。 该页面显示了一堆高低挪动的蓝色小方块。 https://googlechrome.github.i... Simulate a mobile CPU挪动设施的 CPU 能力远低于台式机和笔记本电脑。 每当您剖析页面时,请应用 CPU 节流来模仿您的页面在挪动设施上的体现。 下列选项,CPU 4x slowdown, 模拟出运算速度只有以后 1/4 的 CPU: Set up the demo很难为所有读者创立一个始终如一的运行时性能演示。 因而 Google 筹备了一个容许自定义屏幕上呈现元素数量的 web 利用,以确保您的体验与您在本教程中看到的屏幕截图和形容绝对统一,而不论您的计算机的硬件配置如何。 (1) 持续单击 Add 10,直到蓝色方块的挪动速度显著比以前慢。 在高端机器上,可能须要大概 20 次点击。 (2) 单击优化。 蓝色方块应该挪动得更快更安稳。 如果您没有看到优化和未优化版本之间的显著差别,请尝试屡次单击“减去 10”并重试。 如果增加太多蓝色方块,只会使 CPU 使用率最大化,并且不会看到两个版本的后果有很大差别。 Record runtime performance当您运行页面的优化版本时,蓝色方块挪动得更快。 这是为什么? 两个版本都应该在雷同的工夫内将每个方格挪动雷同的空间。 在性能面板中进行录制,理解如何检测未优化版本中的性能瓶颈。 点击 Performance 面板的 Record 图标,开始录制: ...

October 13, 2021 · 2 min · jiezi

关于chrome:spring-boot超级密码登陆

序言在测试的时候,当其他人批改了某一个用户明码,那么想要登陆该用户进行测试则须要重置数据库,那么此时须要减少一种非凡的登陆形式,不依附账户:Google Authenticator Google Authenticator工作原理:应用一个密钥和以后工夫戳来获取一个六位的一次性明码。应用的算法:TOTP(Time-Based One-Time Password基于工夫的一次性明码)举个栗子:例如应用密钥为DPI45HKISEXU6HG7,那么Google Authenticator会依据你刚刚输出的密钥和以后的工夫戳通过算法来获取一个一次性的明码。 应用办法:1.下载:下载到google插件中2.获取以后的密钥:本我的项目是应用base32加密获取: this.token = base32.encodeAsString(appProperties.getToken().getBytes());对于以后我的项目,那么如何获取加密后的密钥呢:base32 online 2.点击加号新建,能够抉择手动输出验证码或者通过二维码形式输出: 启用Authenticator在我的项目中1.在pom.xml引入依赖,从新加载 <!--one time password--> <dependency> <groupId>com.j256.two-factor-auth</groupId> <artifactId>two-factor-auth</artifactId> <version>1.3</version> </dependency>2.调用现成的TOTP算法生成一次性明码public OneTimePasswordImpl(AppProperties appProperties) { // 将token应用base32进行转码,原理同base64 Base32 base32 = new Base32(); this.token = base32.encodeAsString(appProperties.getToken().getBytes()); }/** * 仅容许获取1次,获取胜利后code值为null * * @return */ @Override public Optional<String> getPassword() { try { // 间接调用现成库的办法生成一次性明码 String password = TimeBasedOneTimePasswordUtil.generateCurrentNumberString(this.token); // 每个明码只能用一次,如果生成的明码与以后的明码雷同,则阐明短时间内申请了两次,返回empty if (password.equals(this.password)) { return Optional.empty(); } else { this.password = password; } } catch (GeneralSecurityException e) { this.logger.error("生成一次性明码时产生谬误"); e.printStackTrace(); } return Optional.of(this.password); }3.建设本人的明码校验器/** * 自定义明码校验器. * 留神:其不可能申明为@Component组件呈现,否则将触发DaoAuthenticationProvider的构造函数 * 从而间接注册DelegatingPasswordEncoder校验器 */public class MyBCryptPasswordEncoder extends BCryptPasswordEncoder { private final Logger logger = LoggerFactory.getLogger(this.getClass()); /** * 一次性明码. */ private final OneTimePassword oneTimePassword; public MyBCryptPasswordEncoder(OneTimePassword oneTimePassword) { super(); this.oneTimePassword = oneTimePassword; } @Override public boolean matches(CharSequence rawPassword, String encodedPassword) { if (rawPassword == null) { throw new IllegalArgumentException("rawPassword cannot be null"); } // 当有一次性明码(每个明码仅能用一次)且未应用时,验证用户是否输出了超密 Optional oneTimePassword = this.oneTimePassword.getPassword(); // 判断是否应用一次性明码(如果明码等于通过算法获取的一次性明码,那么以后为应用超级明码登陆 if (oneTimePassword.isPresent() && oneTimePassword.get().equals(rawPassword.toString())) { logger.warn("以后正在应用超级明码登录"); return true; } // 不应用超密则执行失常的明码判断 return super.matches(rawPassword, encodedPassword); }}4.应用本人建设的明码校验器替换默认的@Configuration@EnableWebSecuritypublic class MvcSecurityConfig extends WebSecurityConfigurerAdapter { private final BCryptPasswordEncoder passwordEncoder; public MvcSecurityConfig(OneTimePassword oneTimePassword) { this.passwordEncoder = new MyBCryptPasswordEncoder(oneTimePassword); User.setPasswordEncoder(this.passwordEncoder); } @Bean PasswordEncoder passwordEncoder() { return this.passwordEncoder; }}5.验证是否胜利间接应用Authenticator生成的明码进行登录测试:右下角标注的是剩余时间,该一次性明码是每个肯定工夫刷新(如同是60秒)。 ...

October 9, 2021 · 1 min · jiezi

关于chrome:在高版本谷歌Chrome中播放大华RTSP视频流与大华官方网页播放器同时播放RTSP延迟效果对比视频演示

https://www.bilibili.com/vide...

October 8, 2021 · 1 min · jiezi

关于chrome:使用-Chrome-Dev-tools-分析应用的内存泄漏问题

Catching memory leaks with Chrome DevTools 当调配的内存没有返回给操作系统或内存池时,咱们将其称为内存透露。 在这种状况下,内存未被任何应用程序应用,并且被不必要地占用。 这会导致低性能、高提早和频繁解体。 Understanding memory leaks如果您相熟 C 等低级语言,您肯定应用过 malloc() 和 free()。 相比之下,JavaScript 在创建对象时主动分配内存,并在不再应用时开释它。 好吧,因为它是主动治理的,所以咱们作为开发人员总是有一个谬误的印象,即咱们不须要放心浏览器中的内存治理。 如果一个站点应用越来越多的内存,这意味着没有人收集它并且存在内存透露。 Garbage collectors如果垃圾收集器 (GC) 是完满的,那么内存透露就不是问题。 问题是他们的算法不够聪慧,无奈检测内存透露。 因而,须要人工干预。 垃圾收集器执行查找程序不再应用的内存并将其开释回操作系统以供未来重新分配的过程。 该办法无效,但依然会产生内存透露。 该办法无奈检测每个透露,例如透露的援用。 Why is there a memory leak?下列是几种常见的内存透露类型。 Accidental global variablesfunction getWork() { this.work = “I am Memory leak”;}// The this here refers to window object and hence this variable will be created in the window.getWork();这里的 this 指的是 window 对象,因而这个变量将在 window 中创立。 ...

October 2, 2021 · 1 min · jiezi

关于chrome:使用-Chrome-开发者工具分析内存问题

DevTools 显示了按性能划分的内存调配细目。 默认视图是 Heavy (Bottom Up),它在顶部显示调配最多内存的函数。Fix memory problems 内存透露很容易定义。 如果一个站点逐步应用越来越多的内存,那么您就会呈现透露。 然而内存收缩有点难以确定。 什么是“应用过多内存”? 这里没有硬性数字,因为不同的设施和浏览器具备不同的性能。 在高端智能手机上晦涩运行的同一页面在低端智能手机上可能会解体。 这里的要害是应用 RAIL 模型并关注您的用户。 找出哪些设施受用户欢送,而后在这些设施上测试您的页面。 如果体验始终不佳,则页面可能超出了这些设施的内存容量。 Monitor memory use in realtime with the Chrome Task ManagerShift + Esc 关上 Task manager: 容许查看 JavaScript memory: 这两列告诉您无关页面如何应用内存的不同信息: memory 代表本机内存。 DOM 节点存储在本机内存中。 如果这个值在减少,DOM 节点就会被创立。 JavaScript Memory 列示意 JS 堆。 此列蕴含两个值。 您感兴趣的值是实时编号(括号中的数字)。 实时数字示意页面上可拜访对象应用的内存量。 如果这个数字在减少,要么正在创立新对象,要么正在增长现有对象。 Visualize memory leaks with Timeline recordings您还能够应用“Timeline”面板作为考察的另一个终点。 “Timeline”面板可帮忙您可视化页面随工夫的内存应用状况。 在 DevTools 上关上 Timeline 面板。启用内存复选框。进行 recording.提醒:应用强制垃圾回收来开始和完结录制是一种很好的做法。 录制时点击垃圾回收按钮(强制垃圾回收按钮)强制垃圾回收。 ...

October 2, 2021 · 2 min · jiezi

关于chrome:50-亿美元处罚有冤情谷歌对欧盟-2018-年安卓反垄断案提起上诉

美国当地工夫 9 月 27 日(星期一),谷歌正式返回欧盟最高法院,对欧盟 2018 年以“滥用 Android 操作系统扼杀竞争"为由对该公司施行 43.4 亿欧元(50 亿美元)的创纪录反垄断处罚提出上诉。 明天,谷歌 Android 反垄断上诉案已进入开庭审理的第三天。谷歌在法庭上示意,收费且开源的安卓零碎曾经导致了手机价格的升高,并刺激了与次要竞争对手苹果的竞争。因而,向手机制造商领取费用,让他们只预装谷歌搜寻,并非是为了阻止竞争,而是为了让 Android 与苹果市场份额相“抗衡”而不得不做的事件。 据报道,2018 年 7 月,欧盟委员会裁定谷歌涉嫌“滥用 Android 操作系统扼杀竞争"违反了欧盟的规定。在最后的决定中,委员会示意,谷歌的做法限度了竞争,缩小了消费者的抉择,“自 2011 年以来凭借其在互联网搜寻市场的主导地位,对 Android 设施厂商和挪动运营商做出了一些非法限度”。 欧盟委员会过后称,该公司要求智能手机制造商在须要的状况下购买一批谷歌应用程序,并禁止他们销售 Android 零碎改版的设施。被该捆绑包里含有 YouTube、Maps 和 Gmail 等 11 个应用程序,但监管机构将重点放在了谷歌搜寻、Chrome 和 Play Store for apps 这三个市场份额最大的应用程序上。 最终,欧盟委员会对谷歌公司施行 43.4 亿欧元(50亿美元)的处罚。这次处罚是欧盟委员会在 2017年-2019 年间对谷歌进行的三次反垄断处罚之一,(三次总计超过 80 亿美元),也是欧盟有史以来对反竞争行为处以的最高罚款。 报道称,Android 作为最受欢迎的挪动操作系统,在欧洲五分之四的设施上都装置,其市场占有率甚至超过了苹果 iOS。尽管这次罚款数额微小,但批评人士指出,谷歌很容易负担得起,罚款对其扩充竞争没有多大作用。 在这项裁决之后,谷歌也做出了一些扭转来解决这些问题,包含让欧洲的安卓用户能够抉择浏览器和搜寻应用程序,并向设施制造商收取预装应用程序的费用。 3 年后的明天,谷歌正式就这起“史上最重反垄断处罚”提起上诉。 在为期 5 天的听证会上,谷歌辩解称,其应用程序预装在 Android 手机上,并不意味着不让用户下载竞争对手的服务。“Android 为每个人发明了更多的抉择,且为欧洲和世界各地数千家胜利企业带来反对和助力。这起案件,基本没有事实或法律的根据”。 欧盟委员会还对谷歌向无线运营商和手机制造商领取专门预装谷歌搜寻应用程序的费用提出了质疑。但谷歌示意,这些交易占市场份额有余 5%,因而不可能挫伤竞争对手。 谷歌的立场是,因为 Android 是开源和收费的,手机制造商或消费者能够自行决定在他们的设施上装置哪些应用程序。正因为谷歌是惟一一家承当开发和保护安卓零碎老本的公司,因而他们必须找到补救这一费用的办法,所以该公司的解决方案是退出可能产生支出的应用程序,即搜寻和 Chrome。 目前,欧盟委员会暂对此事回绝置评,法院的裁决后果预计也要到明年能力进去。而该案件的最终后果到底如何,咱们也将继续关注,如果您对该事件有任何认识,也欢送在评论区留言互动。 ...

September 30, 2021 · 1 min · jiezi

关于chrome:Google-Chrome浏览器如何截图整个网页

Google Chrome浏览器截图整个网页步骤 Ctrl+Shift+I关上开发者工具Ctrl+Shift+P关上输入框输出Capture,找到Capture full size screenshot点击后整个网页截图就下载到本地了

September 29, 2021 · 1 min · jiezi

关于chrome:谷歌遭反垄断投诉Chrome-浏览器取消-cookie-影响行业营收现已推迟该计划

近日,一个由广告商、出版商和技术公司为代表的行业组织——“Movement for a Open Web”,向欧盟提交了一份针对谷歌的投诉,宣称谷歌 Chrome 浏览器勾销 cookie 的打算是一项反垄断行为,将重大影响广告商和出版商的营收。 据理解,去年年初,谷歌发表将在将来两年内逐渐勾销 Chrome 浏览器对第三方 cookie 的反对,理由是”用户对隐衷和数据控制权提出了更高的要求“。但在进行反对第三方 cookie 后,谷歌却开始打算推广其“隐衷沙箱”(Privacy Sandbox)技术。 对此,出版商和广告技术公司们纷纷埋怨称,谷歌所谓的隐衷沙箱技术会限度他们从在线用户那里收集信息的能力,最终会对他们提供更有价值广告的能力造成所影响。 据家喻户晓,Cookie 作为数字广告界的“基石”已有 25 年了,而第三方 cookie 更是精确跨平台广告最罕用的工具。 所以,作为目前大多数互联网用户罕用的浏览器,谷歌 Chrome(基于Chrome技术的浏览器,如Microsoft Edge browser,也将施行勾销 cookie 这一政策)“勾销 cookie”的这个决定,对当下在线广告市场所带来的颠覆可想而知。 “Open Network Movement”的代表律师 Tim Cowen 也在刚刚示意:“谷歌说他们正在增强终端用户的隐衷,但事实上并不是,反而是一种令人不寒而栗的数据挖掘流动。” Tim 示意,谷歌此举将会赋予本身其更大的势力,比方他们能够决定哪些数据能在网络上共享,以及这些数据能与谁共享等等。 欧盟委员会昨天证实,他们已收到“Open Network Movement”的投诉,并将依据规范程序进行评估。 据理解,早在往年 6 月份,欧盟就对谷歌的在线显示广告技术服务开展了考察。欧盟委员会过后还示意,他们将对“谷歌是否不公平地阻止竞争对手拜访用户数据并勾销 cookie 隐衷变更”的问题进行考察。 目前,谷歌对“Open Network Movement”的投诉回绝置评,但重申了其之前的立场,也就是“隐衷沙箱”是一项凋谢的动作,旨在为用户提供弱小的隐衷,同时也为出版商提供反对。 目前,英国反垄断机构“CMA”和美国司法部正在对谷歌的“隐衷沙箱”打算进行考察。CMA 示意,这些措施可能减弱出版商的能力,扰乱数字广告市场的竞争,从而进一步坚固谷歌的市场实力。 受投诉和考察事件的影响,谷歌在往年6月已正式发表,会把 Chrome 浏览器勾销第三方跟踪 cookie 的时间表从 2022 年推延到 2023 年,以便数字广告行业有更多的工夫布局更多关注隐衷的定向广告。

September 29, 2021 · 1 min · jiezi

关于chrome:了不起的Chrome浏览器6Chrome-94开始WebGPU试用Web的图像渲染及机器学能力更强了

9月21日正式公布的Chrome 94,带来了哪些有意思的新个性呢? 背景十多年来,Web技术突飞猛进,其中Chrome功不可没,理解Chrome能够帮忙咱们了解前端行业的发展趋势。 因而,我将以《了不起的Chrome浏览器》为题,对Chrome的每一个版本的重要个性进行具体解读,同时分享一些本人的一些思考: 了不起的Chrome浏览器(1):Chrome 89开启Web利用的物联网时代了不起的Chrome浏览器(2):Chrome 90将默认应用HTTPS,Web更平安了了不起的Chrome浏览器(3):Chrome 91反对WebAssembly SIMD,减速Web在AI等畛域的利用了不起的Chrome浏览器(4):Chrome 92新增at和randomUUID办法,Canvas反对Display P3色域了不起的Chrome浏览器(5):Chrome 93反对Error Cause,我国首个ECMAScript提案能够用了通过专一于Chrome的写作,既能够能够进步我的业余能力,也能够进步集体影响力。我的长期指标是在2025年出版一本对于Chrome的书,毕竟出版本人的书每一个写作者最高的谋求。 我是寒雁,一个酷爱写代码和写文章的程序员,欢送关注我的微信公众号寒雁Talk。 TL;TRChrome 94最大的亮点是什么?全村最靓的仔无疑是WebGPU,它为Web利用提供了间接应用GPU的能力,能够用于减速3D渲染以及数据并行计算,为Web利用在游戏以及人工智能畛域关上了另外一扇窗。WebGPU失去了各个支流浏览器的反对,因而成为W3C规范只是工夫问题。不过,Chrome 94只是开始试用(origin trial),正式公布要等到Chrome 98,工夫大略是明年2月份。Chrome 94是哪天公布的?2021-09-21Chrome 94更新了多少个个性?13个,具体有哪些个性能够查看Chrome Platform StatusChrome 94将应用哪个版本的V8引擎?v9.4我感兴趣的正式个性有哪些? WebCodecsScheduling APIs: Prioritized scheduler.postTaskIdle Detection APIJS Self-Profiling APICanvas color management,这个个性我在《了不起的Chrome浏览器(4):Chrome 92新增at和randomUUID办法,Canvas反对Display P3色域》博客中介绍了,不过是我搞错了,它并不是Chrome 92的个性我感兴趣的试用(origin trial)个性有哪些? WebGPU103 Early Hints for Navigation具体解读WebGPUChrome 94新增了试用个性WebGPU,提供了应用GPU的Web API,能够用于图像渲染(比方3D渲染)以及进行数据并行计算(比方机器学习)。 WebGPU对于Web来说无疑是一个革命性的个性,计算机行业实质上是通过摩尔定律(摩尔为CPU厂商Intlel的创始人之一)以及黄氏定律(黄氏即黄仁勋,GPU厂商英伟达的创始人,别号核弹教父)所推动的,芯片计算能力的晋升为咱们带来历次计算机行业反动:个人电脑、互联网、挪动互联网、人工智能。当GPU的计算能力越来越强,越来越重要时,Web却不能很好得利用,这显然是不合理的。 WebGPU这个个性所对应的是WebGPU和WebGPU Shading Language这2个提案,由Google、Mozilla以及Apple的工程师负责。WebGPU和WebGPU Shading Language提案都是由W3C的GPU for the Web工作组起草的,该工作组成立于2017,通过4年的致力,WebGPU终于开始试用了,也是不容易啊!WebGPU提案定义了Web中应用GPU的API,WebGPU Shading Language(WGSL)提案定义了GPU代码的编程语言。WebGPU失去了4大浏览器巨头(Safari,Firefox、Edge)的反对,因而WebGPU成为正式的W3C规范只是工夫问题。 WebGPU于Chrome 94开始试用,预计将于Chrome 98正式公布,工夫大略是明年2月份。如此重要的个性,可能大家还没来得及学会怎么应用,只试用3个月工夫就正式公布,仿佛有点太仓促了。 WebGPU是WebGL的继承者,它们的指标相似,不过WebGPU提供了更加底层的GPU能力。因而,WebGPU的图像渲染能力更强,性能更好,更易用,也更加实用于数据并行计算以及机器学习。 依据Safari的测试后果,WebGPU的性能在各种设施上都远高于WebGL:图片起源:WebGPU and WSL in Safari 前端机器学习库TensorFlow.js也测试了一下WebGPU,后果发现WebGPU的性能更好,然而差距与WebGL并不是特地显著,有待进一步钻研: 图片起源:Fast client-side ML with TensorFlow.js ...

September 27, 2021 · 3 min · jiezi

关于chrome:谷歌-Chrome-94-稳定版正式发布默认启用空闲检测-API-引争议

刚刚,谷歌正式公布了 Chrome 94 稳定版。作为 3 周前 Chrome 93 版公布后的再次更新, Chrome 94 稳定版只管更新幅度较小,但也有不少小惊喜和亮点。 下载地址:https://www.google.com/intl/z... 全新 Chrome 94 稳定版 降级了其画布色彩形式化治理,实现了屏幕捕捉标准中的显示捕捉性能策略。同时,新版本增加了围绕音频/视频编码和解码以及原始视频帧解决等的低级编解码器 API、虚构键盘 API 、本地调度 API 以及用于确定用户是否与零碎交互的闲暇检测 API。 据悉,Webcodes API 这一性能最后是在 Chrome 93 中作为一个源代码试用引入的。此次 Chrome 94 稳定版引入 Webcodes API ,总体来说也是令人兴奋的,因为它曾经通过了先前的 origin 试用版。WebCodecs 是围绕音频/视频编码和解码以及原始视频帧解决等的低级编解码器 API。WebCodecs API 解决旨在比 JavaScript 或 WebAssembly 编解码器实现更高效。 早在上个月,谷歌公布的 Chrome 93 稳定版中,就为桌面端增加了对 WebOTP 的反对,但破除了传输层平安(TLS)中的 3DES 明码套件。而 8 月 30 日,谷歌发表了 Chrome v94 的测试版,并强调其中将包含一个新的 Webcodecs API,该 API 旨在解决宽泛级别的低级别视频解决。 Chromium 在此前的博客中对这一新 API 的重要性进行了概括,原文指出: ...

September 22, 2021 · 1 min · jiezi

关于chrome:谷歌Chrome浏览器低延迟300ms毫秒播放海康威视浙江大华RTSP解决方案演示视频

https://www.bilibili.com/vide...

September 17, 2021 · 1 min · jiezi

关于chrome:在谷歌chromeFirefox等浏览器打开编辑保存微软Office金山WPS文档解决完全方案

一、历史背景在2015年的支流浏览器版本中,因为能够间接调用微软开源的 ActiveX控件,能够实现微软Office软件的在线编辑及审阅性能,然而从2015年开始,各大支流浏览器先后勾销了对 NPAPI插件,导致在线编辑Office软件成为了一个难题。尽管起初有商业公司开发的相干控件,然而还是无奈 克服ActiveX控件固有的缺点,不仅限度了浏览器的版本,还须要用户独自设置浏览器平安设置,导致用户体验极差。 起初随着SAAS模式的衰亡,网页在线编辑文档也越来越风行,很多巨头公司都公布了在线Office服务,尽管这些服务在多人合作、跨平台等方面有劣势,然而存在的问题也很多,比方桌面版Office就存在一些性能缺失:须要网络随时放弃在线、不能保留桌面生成的文档、表格过大关上的时候卡死、多文档同时编辑板式不统一等,最要害的是在线Office服务很难整合到本人公司的OA、GRM、ERP中去,最好的方法还是须要在桌面Office根底上,通过技术手段让其晦涩的运行在 Chrome、Firefox、Edge、360、Opera、QQ等支流版本浏览器中。 二、现有计划1.浏览器插件计划此计划只实用于IE浏览器,通过在网页中 间接运行ActiveX控件调用桌面Office软件的自动化接口来实现, 收费DsoFramer及点聚WebOffice控件都是基于此原理,另外一些免费的如: 重庆软航NTKO Office文档控件、北京卓正PageOffice、广州华尔太WebOffice控件也是基于此原理。2021年初随着Chrome 对 Flash Player PPAPI插件的反对,浏览器插件的计划就彻底生效了。 2.特定浏览器计划一些公司为了升高开发成本,又想持续应用公司原有零碎,被迫持续应用安全漏洞较多的低版本Chrome或者360等其余低版本浏览器,低版本浏览器的安全漏洞和BUG十分多,导致Office文档控件在此基础上行应用也困难重重。 3.外接程序计划各浏览器禁用 NPAPI插件后,各个厂商纷纷应用浏览器内部协定来 启动独立的EXE外接程序,看起来问题失去了很好的解决,然而每次运行中用户端都会弹出对话框,让用户不胜其烦。用户体验极差,如果用户此时曾经关上了文档,还非常容易引起文档异样,导致文件失落等状况。 4.双核计划通过 Chrome等浏览器上的扩大程序IETab来实现,此计划同样会有 ActiveX控件弹窗, 用户体验很差。 三、最终计划:通过上述4个计划能够看出,如果想在支流浏览器中关上、编辑、保留微软Office文档,外围点就在于独立于浏览器之外并且能很好兼容各浏览器。这个就是明天介绍的曾经十分成熟的商业化产品—猿巨匠中间件。 猿巨匠中间件的微软Office网页小程序如何解决的呢? 原理就是在网页中指定地位和大小,模仿实现一个内嵌到网页中显示的窗口,在这个窗口中再调用桌面Office软件的自动化接口实现doc、xls、ppt等文档的操作。 前端还必须可对这个窗口进行实时控制,而且窗口必须追随浏览器的挪动和缩放、网页滚动、标签页切换、敞开等操作进行主动联动。这个窗口的宿主过程同时提供Web Socket的服务端和JSON打包命令的解析执行模块,前端就能够通过Web Socket连贯后发送JSON打包的管制命令实现管制此窗口的动作。此计划能够说是上述外接程序计划的升级版,要害差别在于此计划可实现内嵌Word、Excel、PowerPoint、WPS文字、WPS表格等程序窗口到网页指定区域运行的成果,而且摈弃了通过IE内核来加载ActiveX控件的计划,解决了用户体验差、加载迟缓和内存占用高的问题。另外启动这个外接程序是通过Web Socket连贯实现的,也解决了每次启动都会弹提醒的懊恼问题,还有就是提供了相似ActiveX控件的主动降级计划,可在网页中实现静默主动降级,并额定减少了调用验证机制确保外接程序的平安启动。 另外猿巨匠中间件的微软Office网页小程序提供了丰盛的二次开发接口,对现有零碎改变比拟小的前提下, 申请启动IE控件小程序加载即可。 四、总结:一个好的技术实施方案,首先是要满足客户的刚性需要,其次是尽量升高洽购、开发、施行及保护的总成本,再次是要有良好的兼容性和稳定性,最初需尽量确保技术计划不能因为浏览器的降级而生效。本文基于以后最新的技术信息和实践经验,给大家提供了猿巨匠中间件搭配Office网页小程序这样一个稳固牢靠、体验好、兼容性佳的桌面Office文档控件技术计划,尤其适宜在内网解决简单文档和数据量大的表格场景,以供大家技术选型参考。

September 17, 2021 · 1 min · jiezi

关于chrome:Chrome-浏览器对标签进行整理和分组的功能太棒了

标签太多,是不是让你的Chrome浏览器凌乱了?Google Chrome 浏览器的新更新,即 Chrome 81,引入了标签组性能,让用户终于能够整顿标签页了!这是个不错的抉择。标签组性能为你的所有标签页提供了整洁、色彩编码的标签。 以下是如何在谷歌浏览器上设置标签组,并最大限度地施展其性能。 以下配置以Mac版Chrome为例。1.如何启用性能确保你的电脑上装置了最新版本的谷歌Chrome(81+)。点击对于Chrome查看是否有更新: 如果你能更新,就更新吧。如果不能,你能够通过导航到 chrome://flags 并寻找 tab groups 来关上这个性能。确保它已 Enabled。 更改后须要重启Chrome能力失效。 2.如何创立新的选项卡组只需右键单击一个选项卡,而后抉择增加到新组选项。 图片标签将依据它们的组扭转色彩,而点也将作为组题目呈现。 如果要更改选项卡组名称,则只需单击该组。 你也能够应用此办法更改选的色彩。 3.如果你想增加(删除)一个标签到一个组只需右键单击每个选项卡,而后抉择增加到现有组。 你还能够将选项卡拖放到组中,并通过拖放将选项卡从组中删除。 要在组中创立新标签,只需右键单击组标签,而后抉择在群组内增加新标签页。 逆锋起笔是一个专一于程序员圈子的技术平台,你能够播种最新技术动静、最新内测资格、BAT等大厂的教训、精品学习材料、职业路线、副业思维,微信搜寻逆锋起笔关注!

September 12, 2021 · 1 min · jiezi

关于chrome:chrome调试

Vscode调试Chrome程序1.装置扩大 2.增加配置文件在我的项目门路下增加配置文件 而后在 VS Code 中新建一个文件 .vscode/launch.json,填入这些内容: { "version": "0.2.0", "configurations": [ { "type": "pwa-chrome", "request": "launch", "name": "Launch Vue project", // 这里填入我的项目的拜访地址 "url": "http://localhost:3000", "webRoot": "${workspaceFolder}" }, ]}3.启动我的项目并调试npm run dev启动后按F5启动调试 4.遇到的问题:前后端拆散存在跨域问题可能会导致页面拜访接口失败,具体起因须要后续再排查 chrome调试js

August 25, 2021 · 1 min · jiezi

关于chrome:Chrome-View-Source-Code-那些事

原文:How to View HTML Source in Chrome and Why 您网站的源代码是您网站的“能源”。 它决定了您网页的感觉、外观和性能,帮忙您实现杰出的用户体验和其余品牌指标,例如转化和潜在客户。 您页面的源代码会影响您的 SEO。 这是因为它是搜索引擎“浏览”的内容,以确定您的网站排名。 这基本上意味着页面源中未检测到的谬误可能会导致您的网站无奈按预期排名,更蹩脚的是,会导致 SEO 数据不精确甚至蹩脚的用户体验。 Why do you need to view your site’s source code?如前所述,您的页面源会影响 SEO。 事实上,您应该将查看源代码作为 SEO 审计的一部分,但如果须要更深刻地应用 SEO 工具作为组合。 可能查看页面源代码的一件很酷的事件是,这是查看竞争对手正在做什么的一种形式,并想出对其进行“逆向工程”以实现您本人的业务指标的办法。 以下是您应该查看源代码的更多起因: It helps with checking for title tags如果您的网站没有题目标签,它就不会呈现在搜索引擎上。 您将在 HTML 文档的 head 局部找到题目标签。 题目标签是显示在搜索引擎上的,它们通常是可点击的。 例如,如果您在 Google 搜寻中输出“SEOptimer”,则第一个后果是“SEOptimer: Analyze Websites With Our Free SEO Audit & Reporting Tool” 咱们可能在该网站的 head 区域的 title 标签里,看到搜索引擎显示的搜寻后果: 题目标签应该是对网页内容的扼要形容。查看题目标签时,您须要确保它位于页面的 head 局部。 ...

August 7, 2021 · 2 min · jiezi

关于chrome:mac自动开启chrome跨域

命令行执行 open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users/chensiyuan3/Documents/配置/chrome/chrome-access-control-allow-origin利用mac自带的主动操作脚本如图,增加应用程序 抉择运行shell脚本拖入右侧 将下面命令行中的脚本粘进去,将此主动操作脚本保留为app下次就能够间接关上app关上跨域浏览器了

August 5, 2021 · 1 min · jiezi

关于chrome:Chrome垄断真的可以为所欲为

在Chrome最近一次更新中(2021-08-03),有一条改变: 移除跨域iframe中的alert、confirm、prompt调用Chrome对此的解释是:网页内嵌的第三方页面弹窗可能让用户误以为这是以后页面弹出的弹窗,从而带来隐衷危险。 如果从开发者的角度对待这条改变,显然是个breaking change。 寰球成千上万的网站应用alert API弹出弹窗,这其中有相当一部分会作为iframe内嵌于其余网站中。 这条改变使得这部分数量宏大的网站的提醒性能在Chrome浏览器下齐全生效。 是什么样的勇气让Chrome敢做出这样的决定? 67.14%市场占有率的Chrome轻蔑一笑,说: 垄断,真的能够随心所欲 本文咱们来聊聊Google如何利用产品与技术使其放弃垄断位置,赚取超额收益的。 用户隐衷背地的机密不晓得你在用什么浏览器? 如果多试几款浏览器,就会发现:不同浏览器对爱护用户隐衷的态度是有轻微区别的。 爱护用户隐衷意味着缩小浏览器对用户行为的追踪,其触动的是宏大的基于用户行为剖析推送个性化广告的市场。 Safari作为最早全面履行禁用第三方cookie的浏览器,一方面是苹果对用户隐衷一贯的器重态度。另一方面,想必因为苹果营收的大头并不来自基于个性化推送的广告。 毕竟,死道友不死贫道。 而Google支出80%以上来自基于个性化推送的广告。所以,在爱护用户隐衷方面,并没有友商踊跃。 从这里咱们能够看出,开发者眼中的API: SameSite=None背地是微小的收益博弈。 Google显然精通此道。所以,让技术与产品为垄断服务就成为须要长期践行的理念。 炼气期彼时Google还未修炼大成,各种仙法还略显陌生。咱们称这一时期为其垄断的炼气期。 在这一时期,Google利用自身产品的市场领导位置,强制要求必须应用Chrome能力关上利用。 比方Google Hangouts(一款跨平台即时通信利用) 以及赫赫有名的Google Earth。 可能有些人会辩解:这是因为这些利用须要某些高级API,其余浏览器没实现。 然而在19年,基于Chromium内核的Edge浏览器无奈应用最新YouTuBe。 “我和你Chrome应用一样的内核,你说我太low不能加载最新的YouTuBe?大兄弟,会不会太显著了点儿” 难堪的是,把Edge的UA改成Chrome就能用了,你品,你细品。 这一时期Google的垄断技术还稍显稚嫩,容易被人识破。 筑基期到这一时期,Google开始施展技术的力量,做到: 事儿是我做的,锅得友商来背从18年开始,用户发现:用FireFox关上YouTuBe很慢。 怎么解决呢?换了Chrome就好了。 用户心里想:没有比照就没有挫伤,FireFox团队的性能优化做的真low,Chrome粉了! 理论起因是什么呢?原来YouTuBe应用的Polymer框架底层依赖已被废除的Shadow DOM v0 API,该API仅Chrome实现了。 要让FireFox失常应用YouTuBe,只能增加相应插件: YouTuBe这波逆规范反向操作为Chrome带来多大性能劣势呢?大略比友商快5倍。 到这一步,Google的垄断之路算是登堂入室了。 结丹期强制让用户做出抉择太low,要耳濡目染的让用户感觉Chrome才是浏览器中集性能、体验于一身的王者。 于是,有了筑基期的教训,Google总结出一套方法论: 产品层面容易让人抓住把柄,还得在技术上苦下功夫仗着本人产品的市场领导位置,这些年常常看到相似发问: 用户:“Edge上用谷歌会议有bug” 这个问题是在微软Edge问答社区提的,显然用户认为:这是须要Edge修复的问题。 更别提老对手FireFox。FireFox团队成员发现,Google全家桶产品中,总会时不时呈现些只在FireFox复现的bug。 当给Google反馈后,对方会回复:“感激反馈,咱们修复后会公布的。” 当这样的问题重复呈现,用户就会质疑浏览器的稳定性,毕竟我用FireFox关上谷歌会议呈现bug,然而用Chrome关上就没bug,这难道不是你FireFox的问题? 总结对于前端开发者群体,多半是乐意看到Chrome一统天下。毕竟谁也忘不了已经被IE摆布的恐怖。 然而别忘了,IE当初脱离规范API,造成本人的API标准的初衷,同样是为了垄断浏览器市场。 高举标准、开源(chromium)的屠龙壮士Chrome,是不是曾经悄悄变为巨龙了呢?

August 5, 2021 · 1 min · jiezi

关于chrome:importmaps

在试用 Deno 的时候为依赖引入形式而困扰,按原始的引入形式依赖很难保护,查问相干文章,有举荐用独自 deps.ts 文件来保护,当然也有很多插件能够反对 Node 或者相似 Node 的保护计划。官网手册里有提及另一个比拟有意思的规范计划 import-maps,而且此计划是曾经在 Chrome89 中反对的。 import-maps这个提案扩大了 import 的机制,应用 <script type="importmap"></script> 标签,能够配置 import 信息。 <script type="importmap">{ "imports": { "/app/helper": "node_modules/helper/index.mjs", "lodash": "/node_modules/lodash-es/lodash.js" }}</script>这样在网页上就能间接应用 import lodash from "lodash"; 语法间接引入模块,浏览器会主动解析成 import lodash from "/node_modules/lodash-es/lodash.js"; 也能够应用 <script> 标签 src 属性来引入 <script type="importmap" src="import-map.importmap"></script>具体的能够查看文章底下的相干材料。 Deno import-mapsimport-maps 能够让资源集中在一起保护, Deno 中应用恰好能够应用此形式来治理依赖。只有建设一个 import-maps 保护文件,而后在启动的时候带上参数 --import-map=<FILE> 即可开启。 官网手册的例子: 建设一个 import_map.json 文件,其中写入依赖信息 { "imports": { "fmt/": "https://deno.land/std@0.103.0/fmt/" }}color.ts 文件中引入应用 import { red } from "fmt/colors.ts";console.log(red("hello world"));启动 ...

August 2, 2021 · 1 min · jiezi

关于chrome:Chrome-开发者工具无法显示服务器正常返回的-HTTP-请求-Failed-to-load-response-data

明天做开发时遇到一个问题,Chrome 开发者工具 network 标签里,尽管一个 HTTP 申请曾经胜利从服务器端返回,然而 Chrome 开发者工具里,依然显示 Failed to load response data: 这个申请 Status 200,失常返回。 同样的 url,从新放到一个新的浏览器窗口却能够失常拜访: 在这个StackOverflow 探讨里找到了答案: 我 network 标签页里设置了 Preserve log, 而后我查看的正好是前一次网页刷新产生的 HTTP 申请。当我把这个勾去掉,从新刷新网页,就可能失常工作了。 更多Jerry的原创文章,尽在:"汪子熙":

July 15, 2021 · 1 min · jiezi

关于chrome:oracle大表空间预分配问题

oracle大表空间预调配问题.txt --//应用oracle大表空间带来的益处就是一个表空间仅仅一个数据文件,保护治理简略,但也带来一些问题,就是预调配问题.--//缺省oracle有一个后盾过程监测SMCO (Space Management Coordinator).看文档每个小时唤醒监测1次.--//当表空间有余时扩大数据文件.这样能够带来一个益处,比方用户大量导入数据,而数据文件须要扩张时,整个业务要略微进展.--//如果当时数据文件扩大了,就能够缩小这方面的进展. --//受两个隐含参数的_enable_space_preallocation,_kttext_warning.--//设想一下如果数据文件1T,减少5%,也就是减少50G,假如写入400m/s,也大略须要50000/400 = 125秒实现. --//补充常识: MOS 如下文档具体阐明了这个过程的作用: SMCO (Space Management Coordinator) For Autoextend On Datafiles And How To Disable/Enable (文档 ID 743773.1) What is the function of SMCO background process SMCO coordinates the following space management tasks. It performs proactive space allocation and space reclamation. Itdynamically spawns slave processes (Wnnn) to implement the task. SMCO 协调以下空间治理工作。 它执行被动空间调配和空间回收。 游戏代理的动静生成隶属过程(Wnnn)来实现工作。表空间级别的空间预调配 - Tablespace-level space (Extent) pre-allocation.Pre-allocation here refers to datafile extention, Datafile extension happens when a space request (extentallocation) operation generally triggered via Insert / loading to a segment does not find contiguous space in thetablespace, the session will extend the file by the next increment set for the datafile and will continue with thespace request or Extent allocation.这里的预调配是指数据文件扩大,当通常通过插入/加载到段时触发的空间申请(扩大区调配)操作在表空间中找不到间断空间时会发生数据文件扩大,会话将依照 increment 设置扩大文件,同时将持续应用空间申请或Extent调配。For SMCO to autoextend a datafile, the AUTOEXTEND should be set to ON for the datafile. SMCO decides to expand thetablespace based on history, extension is split evenly across all datafiles in the tablespace which have not reachedtheir maxsize and are still limited to 10% of the full tablespace size in one hourly SMCO wakeup.(Full tablespace size = Sum of datafile sizes at any given instance of time.)要使SMCO主动扩大数据文件,应将的数据文件的AUTOEXTEND设置为ON。 SMCO决定依据历史记录扩大表空间,扩大在表空间中的所有数据文件中平均调配,这些数据文件尚未达到其maxsize,并且在每小时SMCO唤醒时,扩大空间限度为残缺表空间大小的10%。(残缺表空间大小=任何给定时刻的数据文件大小总和。)Apart from the above mentioned task, the SMCO process is also responsible for performing the following tasks. ...

July 8, 2021 · 3 min · jiezi

关于chrome:解决-Chrome-升级-v91-后历史记录丢失

下午从Chrome v84 降级到 v91 之后,弹出如上提醒,点确定进去后,发现历史记录和下载记录都没了 下载记录无所谓,历史记录还是挺重要的,有时候须要翻之前关上的网址,还有之前用一些自定义的域名设置的快捷搜寻,如果没有历史记录,还得从新去设置麻烦. 找到~/Library/Application Support/Google/Chrome/xxx我的项目文件夹上面,History文件还在,而且有几十兆,阐明外面数据还在,试了下新建一个新的我的项目,把这些文件间接复制过来,还是会有谬误提醒,而且只有历史记录和下载记录坏掉,扩大书签这些还是失常在.于是想着能不能让Chrome生成一个新的History,而后从就的History中把数据导入过来? 网上查了下,History其实是一个SQLite3数据库,下载了个SQLiteStudio,试了下果然能关上. 开始钻研怎么将数据导入到新的文件里.在比照测试的过程发现其实问题起源是因为新版本Chrome的visits表中多了个publicly_routable字段,只有补上这个字段历史记录和下载记录就都能回来了.也就不必折腾去些导入导出的脚本了. 依照下图程序增加一个新的字段,我用的是SQLiteStudio,如果应用其他软件,可能在具体细节上会有差别 我搜了下chromium仓库中对于publicly_routable最早是呈现在去年 5 月份的,在 v84 版本之后增加的,没有去细看其中的代码,不确定Chrome有没有在降级时增加新列的代码,或者是因为我一下子版本升级太大了,或者是我降级的形式不对,Chrome自带的降级我给关了,间接去官网下载最新的版本笼罩下来的.不过既然曾经能用了,也懒得去复现钻研了. 这里做个记录,心愿能帮到前面遇到同样问题的敌人.

June 30, 2021 · 1 min · jiezi

关于chrome:Spring-MVC-整合Mybatis开发

Spring MVC 整合Mybatis开发 maven <!-- mybatis ORM spring集成框架 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.0</version></dependency> mybatis配置和数据库配置sqlMapConfig.xml (含分页插件) <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <settings> <setting name="callSettersOnNulls" value="true"/> <!-- 这个配置使全局的映射器启用或禁用缓存 --> <setting name="cacheEnabled" value="true" /> <!-- 容许 JDBC 反对生成的键。须要适宜的驱动。如果设置为 true 则这个设置强制生成的键被应用,只管一些驱动回绝兼容但依然无效(比方 Derby) --> <setting name="useGeneratedKeys" value="true" /> <!-- 配置默认的执行器。SIMPLE 执行器没有什么特别之处。REUSE 执行器重用预处理语句。BATCH 执行器重用语句和批量更新 --> <setting name="defaultExecutorType" value="REUSE" /> <!-- 全局启用或禁用提早加载。当禁用时,所有关联对象都会即时加载。默认:true --> <!-- <setting name="lazyLoadingEnabled" value="true"/> --> <!-- 当启用时,有提早加载属性的对象在被调用时将会齐全加载任意属性 . 默认:true--> <!-- <setting name="aggressiveLazyLoading" value="true"/> --> <!-- 设置超时工夫,它决定驱动期待一个数据库响应的工夫。 --> <setting name="defaultStatementTimeout" value="25000"/></settings><plugins> <!-- com.github.pagehelper为PageHelper类所在包名 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="mysql"/> <!-- 该参数默认为false --> <!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码应用 --> <!-- 和startPage中的pageNum成果一样--> <property name="offsetAsPageNum" value="true"/> <!-- 该参数默认为false --> <!-- 设置为true时,应用RowBounds分页会进行count查问 --> <property name="rowBoundsWithCount" value="true"/> </plugin></plugins>spring-dao.xml 游戏数据配置 ...

June 9, 2021 · 3 min · jiezi