1
var url = "C:\xampp\htdocs\wcf2\wcf/attachments/5d/18-5dffacdfe6d2cf1db8dfabbb5b53ae8dc65bd325";

になりますUncaught SyntaxError: Unexpected token ILLEGAL。javascriptで修正する方法はありますか、それともPHPでエスケープする必要がありますか?

編集:私のスクリプトは次のようになります:

<script>
  window.onload = function() {
    thingiurlbase = "{@$__wcf->getPath('td')}js";
    thingiview = new Thingiview("viewer");
    thingiview.setObjectColor('#C0D8F0');

    thingiview.initScene();
    var url = "C:\\xampp\htdocs\\wcf2\\wcf/attachments/5d/18-5dffacdfe6d2cf1db8dfabbb5b53ae8dc65bd325";
    thingiview.loadSTL(url); 
    thingiview.setRotation(false);
  }
</script>
4

2 に答える 2

2

バックスラッシュ文字をエスケープする必要があります。

var url = "C:\\xampp\\htdocs\\wcf2\\wcf/attachments/5d/18-5dffacdfe6d2cf1db8dfabbb5b53ae8dc65bd325";

\xそれ以外の場合、JavaScript は、\h、および\wをエスケープされた特殊文字として解釈しようとします。

\ただし、この特定のケースでは、/代わりにを次のように置き換えることができるようです。

var url = "C:/xampp/htdocs/wcf2/wcf/attachments/5d/18-5dffacdfe6d2cf1db8dfabbb5b53ae8dc65bd325";
于 2013-07-21T18:27:12.410 に答える
1

バックスラッシュをエスケープする必要があります。

var url = "C:\\xampp\\htdocs\\wcf2\\wcf/attachments/5d/18-5dffacdfe6d2cf1db8dfabbb5b53ae8dc65bd325";

文字列が PHP から出力される場合は、addslashesを使用して作業を行うことができます。

$test = 'C:\xampp\htdocs\wcf2\wcf/attachments/5d/18-...';
echo $test . "\n";
echo addslashes($test);

>> C:\xampp\htdocs\wcf2\wcf/attachments/5d/18-...
>> C:\\xampp\\htdocs\\wcf2\\wcf/attachments/5d/18-...

サイドノート

ちなみに、あなたのアプローチでは2つのことが間違っています。

  1. 文字列内のスラッシュはすべて同じ方向を指している必要があります。URL として使用する場合は、スラッシュを使用します http://stackoverflow.com/posts/17775495

  2. サーバー上のリソースへのアクセスに使用できる URL をブラウザーに提供する場合、この URL はファイル パス ( C:\xampp\htdocs\.... (などhttp://dropbox.com/my/file.pdf)。Web ユーザーは、Web サーバーを介してのみサーバー上のファイルにアクセスできることを忘れないでください。

于 2013-07-21T18:27:44.703 に答える