0

ユーザーが JavaScript でファイルを表示できるようにする必要がありますが、直接リンクからファイルをダウンロードすることはできません。

Javascript がクライアント側であるため、htaccess を使用してパーミッションを変更しても、これが可能にならないことを理解しています

したがって、残りの唯一の解決策は、サーバーのみがファイルにアクセスできるようにし、php を介して javascript に提供することです。

現時点では、javascript プラグインにより、URL を強制的に送信する必要があります。

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 を自分のニーズに合わせて操作するのに十分な経験がありません。

4

1 に答える 1

1

「javascript がクライアント側であるため、htaccess を使用してパーミッションを変更しても、これが可能にならないことを理解している」場合は、「サーバーのみがファイルにアクセスできるようにすることはできない」ことも理解する必要があります。 php 経由で JavaScript に提供します」 .

あなたが求めていることは不可能です-Javascriptがそれにアクセスできる場合、ブラウザの残りの部分はそれにアクセスできます。Javascript は、訪問者のブラウザの残りの部分より多かれ少なかれ特権を持っていません。たとえ特権を持っていたとしても、デバッガ コンソールまたはプラグインで関連する Javascript を入力するだけで済みます。

于 2013-05-21T00:12:55.890 に答える