我目前正致力于将浏览器绘制的SVG转换为PNG。为此,我将SVG数据包装到Image中,将其写入Canvas,然后使用其数据URI在新窗口中将其作为PNG打开。
此外,我需要内联样式信息。为此,我迭代每个样式表的规则并检查SVG中是否使用了任何规则。如果使用它,我会内联它。我从this article学到了这种方法。
这适用于我的本地计算机,它不使用CDN。在我们的生产服务器上,我们使用Cloudfront来提供CSS /图像,但是CSS文件实际上并没有加载到document.styleSheets中,除了一个带有href的占位符指向它们位于Cloudfront的位置。
如何访问这些样式表?如果它们在DOM中使用,它们必须存在于浏览器中的某个位置。
由于
答案 0 :(得分:0)
这是姗姗来迟的,但感谢指出我正确的方向史蒂夫桑德斯。这是我尝试过的解释。
这种方法没有工作:我编辑了托管我们资产的s3存储桶的CORS设置,以便允许跨源GET
请求,然后尝试发出ajax请求到cdn获取我需要的css文件。我的浏览器抱怨跨源资源共享,但它没有用。
这种方法做了工作:因为我无法向cdn发出ajax请求,而是向我们的Web服务器(同源)发出了ajax请求。虽然从您的Web服务器获取资源并不理想,但它可以正常工作。