【发布时间】:2015-05-21 16:34:16
【问题描述】:
每当我尝试通过 PhantomJS 测试 Web Worker 时,它都会给我一个错误:
SECURITY_ERR: DOM Exception 18: 试图突破 用户代理的安全策略。
这是否意味着 PhantomJS 无法与 WebWorkers 一起工作,或者我需要设置一些配置才能使其工作?
例如我需要测试一个与 WebWorker 交互的脚本(在我的例子中是 worker.js 文件):
var worker = new Worker('doWork.js');
worker.addEventListener('message', function(e) {
console.log('Worker said: ', e.data);
}, false);
worker.postMessage('Hello World');
phantom.exit();
这是 Worker 的代码(dowork.js):
self.addEventListener('message', function(e) {
self.postMessage(e.data);
}, false);
phantom.exit();
当我尝试运行它时,我得到了:
pavel@lenovo:~/phantom_test$ phantomjs worker.js
SECURITY_ERR: DOM Exception 18: An attempt was made to break through the security policy of the user agent.
worker.js:1
【问题讨论】:
-
您是否尝试使用
--web-security=false命令行选项运行它? -
它不起作用,同样的错误。
标签: javascript phantomjs web-worker