编程语言
首页 > 编程语言> > javascript – CreateJS中的PreloadJS无效

javascript – CreateJS中的PreloadJS无效

作者:互联网

我正在尝试使用PreloadJS学习预加载图像.

这就是我所拥有的:

<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
    <script src="easeljs-0.6.0.min.js"></script>
    <script src="preloadjs-0.3.0.min.js"></script>
    <script src="soundjs-0.4.0.min.js"></script>    
    <script>
        var stage, output, queue;
        function handleComplete() {
            var backgroundImage=new createjs.Bitmap("myImg");
            stage.addChild(backgroundImage);
            stage.update();
        }
        function init() {
            stage = new createjs.Stage("demoCanvas");
            queue = new createjs.LoadQueue();
            queue.installPlugin(createjs.Sound);
            queue.addEventListener("complete", handleComplete);
            queue.loadFile({id:"myImg", src:"Background.png"});
        }
    </script>
</head>
<body onl oad="init();">
    <canvas id="demoCanvas" width="1300" height="600">
        Your browser does not support canvas
    </canvas>
</body>
</html>

当我加载页面时,我收到此错误:

Access is denied: preloadjs-0.3.0.min.js, line 50 character 333

我跟踪调用堆栈,发现错误是从以下行生成的:

queue.loadFile({id:"myImg", src:"Background.png"});

你能告诉我哪里出错了吗?

解决方法:

路径类型(绝对/相对)无关紧要,无论您从may加载它的位置.

默认情况下,PreloadJS将尝试使用XHR(XMLHttpRequests)加载内容,XHR仅在加载到服务器上时起作用(file://不起作用,您应该使用localhost),并且来自同一个域.您可以尝试将false作为参数传递给LoadQueue,以使其使用标记加载图像,这可以解决大部分错误.


queue = new createjs.LoadQueue(false);

您通常从XHR加载中获得的错误是跨源错误,但不是“访问被拒绝”.如果从文件系统加载,请确保该文件不是只读的,或具有某种保护.

标签:javascript,html5,createjs
来源: https://codeday.me/bug/20190625/1284871.html