teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

対処策を追加

2018/04/02 02:57

投稿

defghi1977
defghi1977

スコア4756

answer CHANGED
@@ -24,4 +24,15 @@
24
24
  var path = "fuga\hoge\pily.png"
25
25
  var replaced = path.replace(/\/g, "/");
26
26
  ```
27
- とすれば置換できます.
27
+ とすれば置換できます.
28
+
29
+ ---
30
+
31
+ >> var path = "fuga\hoge\piyo.png";
32
+
33
+ > が確かにおかしいのですが、javascriptで受け取った際この記載になってしまっているため、
34
+ javascriptのコード内だけでなんとか解決できないかと考えていました。
35
+
36
+ この問題は、残念ながら**JavaScript側で解決することはできません**. 当該JavaScriptコードを出力しているプログラム(VBじゃね?)側でパス文字列の出力をJavaScriptの文字列リテラル仕様に則った形に修正する必要があります.
37
+
38
+ もしくは、JavaScriptの影響を受けない場所(例えばHTMLコード部)にパス文字列を出力してもらい, その内容をJavaScript側で読み込むようにします.

1

回答を追加

2018/04/02 02:57

投稿

defghi1977
defghi1977

スコア4756

answer CHANGED
@@ -12,4 +12,16 @@
12
12
  ---
13
13
  但し, `String.raw`の挙動については興味深くはあります.
14
14
 
15
- [https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/raw](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/raw)
15
+ [https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/raw](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/raw)
16
+
17
+ ---
18
+
19
+ > 今回やりたかった事の意味としては、windowsのディレクトリパスをjavascript外から橋渡しで受け取って、そのパスの区切り文字をlinuxやURL形式で扱う必要があり、/(スラッシュ)に変換したかったという事です。
20
+
21
+ であれば
22
+
23
+ ```JavaScript
24
+ var path = "fuga\hoge\pily.png"
25
+ var replaced = path.replace(/\/g, "/");
26
+ ```
27
+ とすれば置換できます.