【发布时间】:2019-02-15 03:44:31
【问题描述】:
我创建了两个 Chrome 扩展,目的是在任何网页上应用 CSS 和 SVG 过滤器,代码可在此处查看:
CB 校正器(现场修改颜色以帮助色盲人士) https://drive.google.com/open?id=1hvJIn3kPAMjaIWrAiUtIEVkEesQ1ce6W
CB Simulator(模拟色盲以帮助业余 Web 开发人员) https://drive.google.com/open?id=1_aHgNsLL2jam0pxmh7WuPSbIWBzIEjq0
虽然两个扩展有不同的用途,但它们的实现是相似的:
- 按钮点击使popup.js向background.js发送消息
- background.js 注入代码(插入 div、样式和/或 svg 元素)或根据发送的消息删除注入的代码
由于某种原因,CB Corrector 和 CB Simulator 之间存在差异:在前者的过滤器之间切换时,变化总是瞬时的;对于后者,在 Facebook 等某些网站上,视口会一直等到使用中间的滚轮按钮滚动网站。
这两个扩展都在按下按钮后立即更改页面的源代码,并且仅在CB Simulator 中会出现实现延迟。
如果您知道为什么会发生这种情况,请告诉我。
谢谢!
【问题讨论】:
标签: javascript html css google-chrome google-chrome-extension