Google chrome htmlToImage Chrome 64安全性错误:无法读取';cssRules';来自'的属性;CSSStyleSheet';:无法访问规则
新的Chrome64安全更新似乎破坏了htmlToImage库。没有一个样式被正确计算,并且被渲染为完全没有应用样式Google chrome htmlToImage Chrome 64安全性错误:无法读取';cssRules';来自'的属性;CSSStyleSheet';:无法访问规则,google-chrome,html-to-pdf,wkhtmltoimage,Google Chrome,Html To Pdf,Wkhtmltoimage,新的Chrome64安全更新似乎破坏了htmlToImage库。没有一个样式被正确计算,并且被渲染为完全没有应用样式 有人知道解决方法/修复方法吗?我需要将CSS放在服务器上并允许CORS吗?我刚刚修复了这个错误 分叉lib并提出拉取请求。在合并之前,您可以使用分叉回购: 通过将package.json中的html目标替换为image: "html-to-image": "git+https://github.com/kmap-io/html-to-image.git" 关于bug的信息
有人知道解决方法/修复方法吗?我需要将CSS放在服务器上并允许CORS吗?我刚刚修复了这个错误 分叉lib并提出拉取请求。在合并之前,您可以使用分叉回购: 通过将
package.json
中的html目标替换为image
:
"html-to-image": "git+https://github.com/kmap-io/html-to-image.git"
关于bug的信息 Chrome正在抱怨(抛出一个错误)试图读取一个不存在的属性。Firefox也会抱怨,但他们只会发出警告,而不是错误。修复包括替换
if (sheet.cssRules) {
...
与
没有缺点(即:当cssRules
存在于sheet
上时-这是一个样式表-脚本迭代规则并将它们添加到文档中,正如所设想的那样)
如何修补(直到合并) 出于某种原因,简单地用我提交更改的fork替换库的repo对这个包不起作用。我要求lib的作者添加关于如何在pull请求后构建的说明,因为他们在自述文件中声明,pull请求和贡献是受欢迎的。在此之前,以下是如何使用
修补程序包
应用修复程序:
- 在项目的
包中添加
在“准备”:“补丁包”
脚本中
npm i修补程序包--保存开发文件
- 在
node\u modules/html到image/lib/embeddewebfonts.js中,将第7行从
试试看{
到
npx补丁包html到图像
npm run build
(或类似的,取决于堆栈)之前应用补丁:
就这样
合并修复程序时,您需要运行:
npx patch-package html-to-image --reverse
我遇到了一个错误。模块未找到:无法解析“html到图像”。有什么想法吗?@mcottingham我也遇到了同样的错误。我无法找到正确构建模块的方法。我要求模块所有者更新他们的自述文件,说明如何执行此操作。但是,我发现了如何使用
补丁包
modu在不分叉的情况下应用更改le,我现在正在测试它。我将在本地运行后更新我的答案,包括所有必需的步骤。@mcottingham,我更新了所有步骤,使它适合我。太棒了,谢谢!我必须将导入从import htmlToImage从'html to image'
更改为import*,作为htmlToImage从'html to image'
更改为import*,并且哦,它工作得很好!
if (sheet.hasOwnProperty('cssRules')) try {
git apply --ignore-whitespace patches/*.patch
npx patch-package html-to-image --reverse