我需要允许用户在javascript中查看文件,但不能通过直接链接下载文件。
因此,剩下的唯一解决方案是只允许服务器访问该文件,并通过php将其提供给javascript。
目前,javascript插件强制我发送一个网址:
loader.load('example.stl');
外部javascript然后执行此操作:
prototype.load = function (url, callback) {
var scope = this;
var xhr = new XMLHttpRequest();
function onloaded( event ) {
if ( event.target.status === 200 || event.target.status === 0 ) {
var geometry = scope.parse( event.target.responseText );
scope.dispatchEvent( { type: 'load', content: geometry } );
if ( callback ) callback( geometry );
} else {
scope.dispatchEvent( { type: 'error', message: 'Couldn\'t load URL [' + url + ']',
response: event.target.responseText } );
}
}
xhr.addEventListener( 'load', onloaded, false );
xhr.addEventListener( 'progress', function ( event ) {
scope.dispatchEvent( { type: 'progress', loaded: event.loaded, total: event.total } );
}, false );
xhr.addEventListener( 'error', function () {
scope.dispatchEvent( { type: 'error', message: 'Couldn\'t load URL [' + url + ']' } );
}, false );
xhr.overrideMimeType('text/plain; charset=x-user-defined');
xhr.open( 'GET', url, true );
xhr.send( null );
};
显然,javascript文件以XML格式读入文件,但是,我没有足够的经验来使用Javascript来操作它以满足我的需求。
答案 0 :(得分:1)
如果您“明白使用htaccess并且由于javascript是客户端”而无法更改权限,那么您还应该明白,不可能< em>“只允许服务器访问该文件,并通过php”将其提供给javascript。
你问的是不可能 - 如果Javascript可以访问它,浏览器的其余部分可以访问它。 Javascript没有比访问者浏览器的其余部分更多或更少的权限,即使它确实可以在他的调试器控制台或插件中输入相关的Javascript。