SecurityError:操作不安全。使用 Htmlcanvas [重复]

2023-12-02

尝试转换图像我drag并将我的画布元素放入 PNG 或 Jpeg 照片中(有点类似于 Polyvore 的情绪板概念),这样我就可以在一张 PNG 或 Jpeg 照片中一次性查看放置在画布上的所有图像。这样我就可以保存它或对照片进行任何操作。

但我遇到了 SecurityError: 该操作不安全。当我按下“保存”并尝试使用 .alert() 方法转换数据以实际向自己显示保存的图像时。我有什么想法可以克服这个错误来实现目标吗?谢谢你!

这是我的项目的链接,可以实时查看:http://amechi101.github.io/moodboard/

Html:

 <div id="container" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
 <div class="buttonMoodBoard">
    <button class="btn btn-primary btn-lg" id="save">Save Moodboard</button> 
 </div>

JavaScript:

var stage = new Kinetic.Stage({
                container: 'container',
                width: 500,
                height:500
            });

            var layer = new Kinetic.Layer();

uni_width = 120;

function allowDrop(ev) {
    ev.preventDefault();
}

function drag(ev) {
    ev.dataTransfer.setData("Text", ev.target.id);
}

function drop(ev) {
    ev.preventDefault();
    data = ev.dataTransfer.getData("Text");
    img_received = document.getElementById(data);
    ratio = img_received.height / img_received.width;

    var c=document.getElementById("container");
    drop_x=ev.pageX-c.offsetLeft;
    drop_y=ev.pageY-c.offsetTop;

    var imageObj = new Image();
    imageObj.src = img_received.src;
    imageObj.onload = function() {
        var new_image = new Kinetic.Image({
        x: drop_x - uni_width / 2,
        y: drop_y - uni_width * ratio / 2,
        image: imageObj,
        width: uni_width,
        height: uni_width * ratio,
        draggable: true
        });

    // add the shape to the layer
    layer.add(new_image);

    // add the layer to the stage
    stage.add(layer);
  };
}

//saving to data base via Json
document.getElementById('save').addEventListener('click', function (canvas) {
        var json = stage.toJSON();



    var canvas = document.getElementsByTagName("canvas");
    var img    = canvas[0].toDataURL("image/png");

    var alertJson = alert(img);
    console.log(json, alertJson);   
}, false);

要使用 CORS 请求图像,您可以在图像标签中指定用法:

<img src="..." crossOrigin="anonymous">

或使用 JavaScript:

var img = new Image;

img.onload = loaded;            // load handler
img.crossOrigin = 'anonymous';
img.src = '...';

然而,请求并不能保证——服务器是否支持 CORS 将取决于服务器。如果没有,您需要将图像移动到与页面相同的服务器(源)或另一个支持 CORS 的服务器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SecurityError:操作不安全。使用 Htmlcanvas [重复] 的相关文章

随机推荐

  • Orion Context Broker 的工作效率只有一半

    我已经安装了 Orion Context Broker 0 23 0 但它的表现很少 它只能工作一半的时间 例如 当尝试检索版本时 我收到以下错误消息 curl http localhost 1026 version curl 52 Emp
  • 使用 updateDate() 方法设置 DatePicker 的日期

    我目前正在制作日期 时间选择器课程 本质上 我创建了 3 个单选按钮 明天 两天内 和 下周 我想要做的是让这些单选按钮自动将日期选择器设置为提前相应的天数 提前 1 2 和 7 天 当用户单击单选按钮时 我尝试使用 updateDate
  • Google 搜索检索搜索关键字的结果数量

    我有一个关键字列表 想知道每个关键字的谷歌搜索结果数量 对于我的研究项目 我正在使用下面的代码来实现相同的目的 def showsome searchfor hits 1 try query urllib urlencode q searc
  • $_SERVER['REMOTE_ADDR'] 的问题

    我使用 SERVER REMOTE ADDR 它返回客户端 ip 地址 用户查看当前页面的 IP 地址 但现在 和相同的代码 它返回主机 ip 地址 我用 ip 位置检查了 ip 地址 问题是主机还是什么 感谢你 您应该查询HTTP X F
  • 体积的imfilter速度

    我正在研究一种算法 该算法需要过滤 3D 矩阵 非稀疏 512 3 来查找边缘 我只想找到每个切片中的边缘 所以我一直在执行以下操作 2D loop appaoch x y ndgrid floor 3 sigma ceil 3 sigma
  • APK 签名错误:无法从密钥库读取密钥

    我正在 intellij 和 gradle 下开发 Android 应用程序 并使用以下方式生成密钥库文件 keytool genkey v keystore my release key keystore alias alias name
  • 是什么意思[重复]

    这个问题在这里已经有答案了 这是代码 def my func f arg return f arg print lambda x 2 x x 5 gt gt gt
  • 控制笔记本相关表达式的 Rasterize[] 宽度

    Update向导先生的答案给出了像素完美的结果 但它仅适用于 Windows 并且会破坏剪贴板内容 我的答案应该适用于任何平台 但不太精确 例如它省略了输入 输出标签 但它确实允许设置光栅化宽度 这个问题我当时就出现了尝试为图像上传器制作预
  • WebStorm:如何美化 JavaScript 文件中引号中的 HTML

    我的中有以下块app component ts file Component selector my app template h1 title h1 h2 My Heroes h2 ul class heroes li li ul h2
  • 打开目录对话框

    我希望用户选择一个目录 用于保存我将生成的文件 我知道在 WPF 中我应该使用OpenFileDialog来自 Win32 但不幸的是 该对话框需要选择文件 如果我只是单击 确定 而不选择文件 它就会保持打开状态 我可以通过让用户选择一个文
  • 通过代码模拟触摸控制

    我正在尝试使用头部手势来浏览我的 Google Glass 应用程序 我能够识别头部姿势 例如向右看 向左看和向上看 他们每个人都有自己的方法来识别该手势时该怎么做 现在我需要在每个方法中模拟相应的触摸手势 所以它会认为我正在向左或向右滑动
  • C#:更改按钮背景颜色没有效果

    我在 Windows 窗体中使用 C 按钮时遇到问题 我以编程方式创建了许多按钮 然后将它们添加到表单中 有趣的是 除了修改按钮之外 对这些按钮 位置和大小 的每次修改BackColor很容易被执行 只有按钮的颜色保持不变 代码看起来像这样
  • Flash AS3 - 如何设置高质量录音

    目前 我正在使用 mic rate 100 这仅提供 63kbps Flash AS3 是否可以将比特率设置为高于 63kbps From the docs 可接受的值为 5 8 11 22 和 44 所以输入其中之一 根据文档 它的测量单
  • 如果没有父窗口,则无法在 PyQt 中创建新窗口

    我开始使用 PyQt 在 Python 中编写一个简单的文本编辑器 然后遇到了这个问题 对于 新文档 按钮 我想打开一个新的空文本编辑器 无论第一个窗口发生什么情况 它都会保持打开状态 问题是我让它显示窗口的唯一方法是发送self作为参数
  • 在经典的asp中读取csv文件。问题:列值被截断最多 300 个字符

    我有一个页面可以上传 csv 文件并保存到数据库中的表中 我正在使用下面的连接字符串来读取 csv 文件 set connection Server CreateObject ADODB Connection connection Open
  • 计算向量中零和一的百分比?

    我已经使用以下代码获得了矢量以及零和一的数量 u 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 transitions find u u 2 end u end 1 value u tr
  • Windows Phone 7 - 来电屏幕

    有没有办法在接到电话时将数据添加到来电屏幕 如果可能的话 我希望能够向该屏幕添加文本 Update 如果当前无法向该屏幕添加文本 是否有办法根据来电触发代码 您可以执行与来电相关的任何操作的唯一方法是通过 Obscured 事件得知此情况已
  • iOS 7 iPad Safari 横向innerHeight/outerHeight 布局问题

    我们发现 iOS 7 中 Safari 上高度为 100 的 Web 应用程序存在问题 似乎 window innerHeight 672px 与 window outerHeight 692px 不匹配 但仅限于横向模式 最终发生的情况是
  • filepicker.io Javascript API 调用导致不安全的 javascript 错误

    我目前正在使用 AngularJS 我想从我的上传控制器调用 filePicker pickAndStore 对 filepicker io API 函数的任何调用都会导致 不安全的 Javascript 尝试 错误 请求访问的帧具有 ht
  • SecurityError:操作不安全。使用 Htmlcanvas [重复]

    这个问题在这里已经有答案了 尝试转换图像我drag并将我的画布元素放入 PNG 或 Jpeg 照片中 有点类似于 Polyvore 的情绪板概念 这样我就可以在一张 PNG 或 Jpeg 照片中一次性查看放置在画布上的所有图像 这样我就可以