如何将 camanjs 用于我的 wix 应用程序以绕过跨域问题?
How can I use camanjs for my wix application bypassing crossdomain problems?
我正在为 wix.com 开发代表用户图像滑块的应用程序。最近我的任务是为这个项目制作像 instagram 一样的图像过滤器,第一个想法是为此目的使用 canvas 特别是 CamanJS。正如您从问题标题中理解的那样,我遇到了 canvas crossorigin 问题。
我试过使用 svgjs 及其滤镜,在本地主机上它非常适合远程图像,但它不适用于 wix(也许它不适用于我们的 angular项目已写)
我也试过 http://crossorigin.me/,将它添加到每张图片 link,但似乎没有任何反应,CamanJS 会破坏图片,就像没有这个代理一样。
不要误会我的意思,我测试了 4 个不同的 js 库,每个库都建立在 canvas 操作之上。
那么还有其他方法可以绕过这个问题吗?我听说过 php 代理,但我在 webdev 方面有一点经验(大约 4 个月),所以我不知道如何使用它。
无论使用哪个库都无法避免,因为它是浏览器feature/mechanism。
您可以像您所说的那样使用代理(例如您提到的代理,但要小心使用)。但是,仅使用代理是不够的。您还必须请求跨源使用,您可以通过在设置其源之前将此 属性 添加到图像元素来实现:
var img = new Image;
img.onload = function() {...}; // your callback here
img.crossOrigin = "anonymous"; // make request to use image cross-origin
img.src = "url/to/proxy"; // send request/start loading
或者如果您有图片标签:
<img crossOrigin="anonymous" src="...">
请记住,如果请求的服务器拒绝,图像可能根本不会加载。
或者,查看与 imgur.com(我不隶属于)等允许跨源使用的网站的商业协议。
我正在为 wix.com 开发代表用户图像滑块的应用程序。最近我的任务是为这个项目制作像 instagram 一样的图像过滤器,第一个想法是为此目的使用 canvas 特别是 CamanJS。正如您从问题标题中理解的那样,我遇到了 canvas crossorigin 问题。
我试过使用 svgjs 及其滤镜,在本地主机上它非常适合远程图像,但它不适用于 wix(也许它不适用于我们的 angular项目已写)
我也试过 http://crossorigin.me/,将它添加到每张图片 link,但似乎没有任何反应,CamanJS 会破坏图片,就像没有这个代理一样。
不要误会我的意思,我测试了 4 个不同的 js 库,每个库都建立在 canvas 操作之上。
那么还有其他方法可以绕过这个问题吗?我听说过 php 代理,但我在 webdev 方面有一点经验(大约 4 个月),所以我不知道如何使用它。
无论使用哪个库都无法避免,因为它是浏览器feature/mechanism。
您可以像您所说的那样使用代理(例如您提到的代理,但要小心使用)。但是,仅使用代理是不够的。您还必须请求跨源使用,您可以通过在设置其源之前将此 属性 添加到图像元素来实现:
var img = new Image;
img.onload = function() {...}; // your callback here
img.crossOrigin = "anonymous"; // make request to use image cross-origin
img.src = "url/to/proxy"; // send request/start loading
或者如果您有图片标签:
<img crossOrigin="anonymous" src="...">
请记住,如果请求的服务器拒绝,图像可能根本不会加载。
或者,查看与 imgur.com(我不隶属于)等允许跨源使用的网站的商业协议。