Uncaught Error:SECURITY_ERR:DOM Excption 18

今天写一个web workers的小demo,代码比较简单,如下:

      function test(){
        if(typeof(Worker)!=="undefined"){
          var work = new Worker("webwork.js");
          worker.onmessage =function(event){
            var data = event.data;
            document.getElementById("resultDiv").innerHTML=data;
          };
           worker.postmessage(100);
        }else{
          alert("不支持webwork");
        }       
      }

但通过本地浏览器直接打开该HTML页面时,却一直报出如下异常:

Uncaught Error:SECURITY_ERR:DOM Excption 18

出错定位在:

var work = new Worker("webwork.js");
分析发现,JS跨域限制不能访问非同一域名下的数据,而本地打开是没有域名的,故JS认为你是跨域了,故出现了SECURITY_ERR异常。若要继续测试,就将这个文件扔到某个服务器下,比如TOMCAT下即可。

其它需要额外引用资源文件的,都会存在同样问题,例如:canvas中调用getImgData()方法。


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值