【问题标题】:JavaScript - Pixastic - Error : this operation is unsecureJavaScript - Pixastic - 错误:此操作不安全
【发布时间】:2013-05-10 17:30:38
【问题描述】:

我正在尝试使用 Pixastic 对图像进行去饱和处理。我从官方website 下载了脚本并检查了唯一需要的东西(核心、jquery 插件和去饱和效果)。

我尝试使用与演示中相同的代码,只是我将它包含在 jQuery 的 .ready 函数中,但这不会导致问题:

(function($) {
    $(document).ready(function() {
        var img = new Image();
        img.onload = function() {
            // document.body.appendChild(img); // Ialso tried putting this here.
            Pixastic.process(img, "desaturate", {average : false});
        };
        document.body.appendChild(img);
        img.src = "http://127.0.0.1/some_path/Wallpapers/ (10).jpg"; // This URL does point to the image file.
    });
})(window.jQuery);

但我总是得到同样的错误:这个操作是不安全的。 错误来自第 374 行的 Pixastic js 文件:

prepareData : function(params, getCopy) {
            var ctx = params.canvas.getContext("2d");
            var rect = params.options.rect;
            var dataDesc = ctx.getImageData(rect.left, rect.top, rect.width, rect.height); // 374
            var data = dataDesc.data;
            if (!getCopy) params.canvasData = dataDesc;
            return data;
        },

我正在本地 wamp 服务器上开发。

知道我做错了什么吗? 谢谢你的帮助 ! :)

【问题讨论】:

  • 您使用什么网址导航到您的服务器?它与代码中的127.0.0.1 匹配吗?你可以在代码中使用相对 url 吗?
  • 我在地址栏中输入 localhost 然后浏览到我的 index.php 文件。这是地址栏中显示的 URL:http://localhost/Workspace/VoidMuseum/v2/
  • 尝试使用图片的相对网址。
  • 耶!你让我走对了!我需要使用 127.0.0.1 而不是 localhost。感谢您的帮助。

标签: javascript image canvas pixastic


【解决方案1】:

代码中图片的 URL 必须与您用于提供页面的 URL 相匹配。我会在代码中使用相对 URL。如果图像来自不同的域,则提供图像的服务器必须支持 CORS (http://en.wikipedia.org/wiki/Cross-origin_resource_sharing) 才能正常工作。

【讨论】:

  • 找到了解决方案。似乎如您所说:localhost!= 127.0.0.1。感谢您提供额外的详细信息。
【解决方案2】:

发现问题:

我不得不在浏览器地址栏中使用 127.0.0.1 而不是 localhost。如果有人知道确切原因,请随时编辑。

【讨论】:

    猜你喜欢
    • 2014-11-03
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-15
    • 2015-10-24
    • 1970-01-01
    相关资源
    最近更新 更多