回答編集履歴
2
回答訂正
answer
CHANGED
@@ -1,5 +1,26 @@
|
|
1
1
|
> 最後に/がないときはpathnameの値は_displayになりまして、これが何なのかよくわかりません。
|
2
2
|
|
3
|
+
回答訂正)
|
4
|
+
|
5
|
+
ブラウザの開発者コンソールで実行する限りにおいては、``parse_url("/_display")`` を与えない限り、再現できません(他の javascriptコードの干渉がない限り、parse_url() で得られる結果の ``location``オブジェクトの``pathname`` プロパティが ``/_display``とはならないはずです)。
|
6
|
+
|
7
|
+
> 勝手に入る_displayに対応するこの条件に気持ち悪さを感じています
|
8
|
+
|
9
|
+
もしNodeJSベースで稼働するエディタをご利用であれば、エディタがデバッグ用のサーバに渡す際に location が書き換わっていないかなど、原因となりそうな事象はあるように思います。
|
10
|
+
|
11
|
+
|ブラウザ|platform| location.pathname |
|
12
|
+
|:--|:--|:--|
|
13
|
+
|Edge 最新|win10|"/spartan/dhp"|
|
14
|
+
|Chrome 80.0.3987.132|win10|"/local-ntp.html"|
|
15
|
+
|Firefox 74.0(64ビット)|win10|"newtab"|
|
16
|
+
|Cromium 72.0.3626.121|RaspberryPi2B+|"/_/chrome/newtab"|
|
17
|
+
|
18
|
+
※``/_display``になる事例がないか、僅かですが、ブラウザ標準のホーム画面を調べてみました。
|
19
|
+
|
20
|
+
訂正ここまで)
|
21
|
+
|
22
|
+
----
|
23
|
+
|
3
24
|
ブラウザ側でURL解析の際、サーバー上のディレクトリなのかファイルなのかを判別する手段としてスラッシュの有無を用いているのだと思います。
|
4
25
|
|
5
26
|
* 基本的には「サーバー要求してみないと、ファイルなのかディレクトリなのかわからない。」
|
1
追記
answer
CHANGED
@@ -7,4 +7,14 @@
|
|
7
7
|
|
8
8
|
ということで、以下のように決め打ちしているのではないでしょうか。
|
9
9
|
1. pathnameの最後にスラッシュ記号がある場合はサーバー上のディレクトリとする
|
10
|
-
2. pathnameの最後にスラッシュ記号がない場合はファイルとする
|
10
|
+
2. pathnameの最後にスラッシュ記号がない場合はファイルとする
|
11
|
+
|
12
|
+
追記)
|
13
|
+
ユーザ関数の場合は、仕様は「書かれているコードそのもの」ですので、気になる場合は
|
14
|
+
console.log() を書き加えて、挙動の一つ一つを確かめるのが確実です。
|
15
|
+
|
16
|
+
```javascript
|
17
|
+
var m = String( url ).match( re );
|
18
|
+
console.log( m ); // ここを調査してみるなど
|
19
|
+
if( m ) {
|
20
|
+
```
|