11

Web サイトのデスクトップ バージョンとモバイル バージョンを切り替えることができる次のコードがあります。

<script type="text/javascript">
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera 
Mini/i.test(navigator.userAgent) ) {
window.location = "http://m.mysite.co.uk";
}
</script>

私は最近、すべての人をサイトのホームページに送るだけであることに気付きました。私は少し掘り下げて、上記を次のように修正することで、特定のページをモバイル版にリダイレクトできると考えました。

<script type="text/javascript">
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
 window.location = "http://m.mysite.co.uk" +  window.location.pathname;
}
</script>

これに関する唯一の問題は、URL パスの末尾のスラッシュが原因で URL が認識されないことです。

Javascript内でその末尾のスラッシュを削除する方法はありますか?

このサイトは古い Windows 2003 サーバー上にあるため、誰かが URL 書き換えモジュールを提案する場合に備えて IIS6 です。

提供されたアドバイスに感謝します。

4

5 に答える 5

11

複数の末尾のスラッシュの問題を修正するには、この正規表現を使用して末尾のスラッシュを削除し、代わりに結果の文字列を使用できますwindow.location.pathname

const pathnameWithoutTrailingSlashes = window.location.pathname.replace(/\/+$/, '');
于 2019-04-26T20:23:47.057 に答える
1

簡単なテストを使用して、末尾のスラッシュを削除するだけです。

let path = window.location.pathname;
let lastPathIndex = path.length - 1;
path = path[lastPathIndex] == '/' ? path.substr(0, lastPathIndex) : path;
于 2015-07-02T13:23:49.297 に答える
-1
window.location.pathname.slice(1)
于 2021-09-16T06:05:25.977 に答える