即使使用相同的域,也是如此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上可以正常运行。     
已邀请:
通过“相同来源”参考“相同来源策略”,协议,主机名和端口必须相同。我猜您在这里使用其他端口? 我认为发生的事情是由于脚本未签名而导致您对
netscape.security.PrivilegeManager.enablePrivilege
的调用失败-您是否尝试删除此代码?     
我将ѭ3设置为与其他子域上托管的iframe协作后,1和ѭ2调用就会失败。作为解决方法,我将domain.tld / subdomain /代理到subdomain.domain.tld /并获得了所需的结果。     

要回复问题请先登录注册