【问题标题】:Loading texture in JavaScript (Three.js) - Access to restricted URI denied在 JavaScript (Three.js) 中加载纹理 - 访问受限 URI 被拒绝
【发布时间】:2014-01-22 20:36:15
【问题描述】:

我在 JavaScript (Three.js) 中加载纹理时遇到问题。该程序运行良好(它渲染的对象很少),但是当我添加时:

 var grzybSkin = THREE.ImageUtils.loadTexture('grzybuv.png');
 grzybSkin.repeat.set( 1,1);
 grzybSkin.wrapS = THREE.RepeatWrapping; 
 grzybSkin.wrapT = THREE.RepeatWrapping; 
 grzybSkin.anisotropy = 16;

 var texturaGrztb = new THREE.MeshBasicMaterial({map: grzybSkin});

 var geometry_grzyb;
 var loader = new THREE.JSONLoader();
 loader.load( "grzyb.js", function( geometry_grzyb ) {
  for (var i = 0;i < 4;i++)
  {
   grzyb[i] = new THREE.Mesh( geometry_grzyb, texturaGrztb );
   grzyb[i].scale.set( 15, 18,  1);
   scene.add( grzyb[i] );
   grzyb[i].position.set(
   5000, 
   5000, 
   5000
  ); 
  } 
  }); 

发生错误:

NS_ERROR_DOM_BAD_URI: Access to restricted URI denied

它指向Three.js

xhr.open( "GET", url, true );
xhr.withCredentials = this.withCredentials;
xhr.send( null );

【问题讨论】:

标签: javascript security opengl-es three.js uri


【解决方案1】:

浏览器不允许从本地文件加载资源(我假设您正在以“file://c:/dir/file.html”的方式直接通过文件系统访问您的文件)并且它也不允许您可以访问来自该站点的不同域的资源。

为了在本地开发和调试 THREE.js,您必须设置本地网络服务器 - 最好的选择是 XAMPP、WAMP 或类似项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 2010-09-08
    • 2013-06-24
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多