0

だから私はここでファイル(blender .objファイル)をロードして表示する簡単なセットアップをしています。次に、この関数を呼び出します。

function parseFile(){
        var fileText = $('#file').html();
        var fileLine = fileText.split("\r\n");
        $('#file').html(fileLine[5]);
    }

これにより、ファイルの6行目が表示されますが、ファイル全体が表示されます。実際のファイルのように行を分割するにはどうすればよいですか?

編集:私が次のようにファイルをロードしていることを誰もが知っているように:$('#file').load('model.obj');

4

3 に答える 3

3

への呼び出し.load()は非同期です。メソッドは返されますが、コンテンツは将来利用可能になります。コールバックを使用する必要があります。

$('#file').load('model.obj', function(response, status) {
    alert("Now the file is loaded");
    parseFile();
});
alert("Loading the file just began, nothing available by now");

または、延期されたインターフェースを使用して、より物語的に:

$('#file').load('model.obj').then(parseFile);

とにかくサーバーの応答を解析する必要がある場合は、それをにロードしてそこから読み取る$.ajax()のではなく、直接使用する方が良いかもしれません... Blender.obj ファイルタイプ専用のものを使用することもできます。innerHTMLdataFilter

于 2012-06-27T00:58:25.617 に答える
0

このように呼び出しをラップしてみて$(parseFile());、HTMLに実際にfileのIDを持つ要素が含まれていることを確認してください。

于 2012-06-27T00:51:13.607 に答える
0

'\n' だけの問題かもしれません

これを試して :

var fileLine = fileText.split("\n");
于 2012-06-27T00:21:31.423 に答える