1

我正在 Chrome 中调试threejs javascript 代码。

我有以下内容:

var loader = new THREE.JSONLoader();
loader.load( "models/goal.js", function(geo) {
//blah blah
});

我有一个文件夹'models',里面有文件goal.js。

在下面的函数中,我在 f.send() 上收到以下错误

未捕获的错误 NETWORK_ERR:XMLHttpRequest 异常 101

THREE.JSONLoader.prototype.loadAjaxJSON=function(a,b,c,d,e)
{
    var f=new XMLHttpRequest,g=0;
    f.onreadystatechange=function()
    {
        if(4==f.readyState)if(200==f.status||0==f.status)
        {
            try
            {
                var h=JSON.parse(f.responseText)
            }
            catch(i)
            {
                console.warn("DEPRECATED: ["+b+"] seems to be using old model format")
            }
            a.createModel(h,c,d);
            a.onLoadComplete()
        }
        else
        console.error("Couldn't load ["+b+"] ["+f.status+"]");

        else 3==f.readyState?e&&(0==g&&(g=f.getResponseHeader("Content-Length")),e({total:g,loaded:f.responseText.length})):2==f.readyState&&(g=f.getResponseHeader("Content-Length"))
    };

    f.open("GET",b,!0);
    f.overrideMimeType&&f.overrideMimeType("text/plain; charset=x-user-defined");
    f.setRequestHeader("Content-Type","text/plain");
    **f.send(null)**
};

有任何想法吗

4

1 回答 1

0

您需要更改 Chrome 中的安全策略才能访问本地文件。

使用命令行标志启动 Chrome 可执行文件:

chrome --allow-file-access-from-files

在 Windows 上,您可以创建一个带有添加标志的快捷方式。(右键单击快捷方式 -> 属性 -> 目标)

有关更多信息,请参阅Wiki 文章

于 2013-02-20T15:37:14.497 回答