即使使用相同的域,也是如此SecurityException1000
|
我面临着一个麻烦的Javascript / Firefox问题。
相关代码如下。
基本上发生以下情况:
1. document.ready触发并发起AJAX请求(对document.domain:8484 / getTrack.php或其他任何文件)
2.收到AJAX响应。此响应包含图像位置的URL(相同域)。因此,先设置sourceImage.onload,然后再设置sourceImage.src
3. sourceImage.onload触发。现在的想法是在内存中保留一个调整大小的图像,使其完全适合要在其上绘制的画布。我想将调整大小后的图像保留在内存中,因为我要多次(部分地)将其写入画布,并且每次调整大小都应该慢很多。
var SourceImage = new Image();
var prepareImageData;
sourceImage.onload = function(){
var canvas = document.createElement(\'canvas \');
canvas.width = 100; canvas.height = 100;
var ctx = canvas.getContext(\“ 2d \”);
//调整图片大小
ctx.drawImage(sourceImage,0,0,sourceImage.width,sourceImage.height,0,0,canvas.width,canvas.height);
//另存为imagedata
尝试{
尝试{
prepareImageData = ctx.getImageData(0,0,canvas.width,canvas.height);
}
抓住(e){
netscape.security.PrivilegeManager.enablePrivilege(\“ UniversalBrowserRead \”);
prepareImageData = ctx.getImageData(0,0,canvas.width,canvas.height);
}
}
抓住(e){
抛出新错误(\“无法访问图像数据:\” + e)
}
}
第一个getImageData调用引发,并且enablePrivilege调用也立即引发。错误文本为\“来自“ http://127.0.0.1 \”的脚本被拒绝UniversalBrowserRead特权。”。我已经检查过,看来这些消息仅在尝试从另一个域访问图像上的getImageData时才出现,但不是这样(对吗?)。 Firefox 4.0没有严格的安全策略(所有默认设置)。相同的代码在Chrome上可以正常运行。
没有找到相关结果
已邀请:
2 个回复
盛虱
的调用失败-您是否尝试删除此代码?
锯康