[Tips] 初试WebWorker受阻,再解决之

 

今日有暇,想试一把Html5之WebWorker,把代码download下来,想直接在本地玩玩, 在Firefox和Chrome中都不能用!? 但是看了看代码,貌似没有什么问题,就干脆Debug一把,正好看看究竟怎么回事?

 

# Symptom:

Chrome:

    1. Uncaught Error: SECURITY_ERR: DOM Exception 18

        在Chrome中调试一个使用Web Worker的程序时碰到SECURITY_ERR如下:

           

Firefox:

    1. Failed to load script

        worker.onerror = function(error) {

           // error: Failed to load script xxx

       }

    2. assignment to undeclare variable xxx

 

# Solution I

Chrome

    1. 启动Chrome的时候需使用"--allow-file-access-from-files"

        start %localappdata%\Google\Chrome\Application\chrome.exe  --allow-file-access-from-files

    2. 不能使用Private Browsing模式,即”--incognito“

 

Firefox

    1. Local file access

        about:config -->  security.fileuri.strict_origin_policy = false

    2. assignment to undeclared variable

        在Firefox的WebWorker所要Load的JavaScript文件,似乎不能有没有声明的局部变量,就类似与使用了"use strict",暂时在about:config中禁掉:

             about:config --> javascript.options.strict = false

        但是最好的还是把代码写的严谨一些,能主动使用"use strict"者更佳。

 

# Solution II

    放弃本地执行吧,架一个简单Web服务器,就没啥问题了

   

posted on 2013-02-25 17:05  飘行天下  阅读(795)  评论(0编辑  收藏  举报

导航