1. ホーム
  2. javascript

[解決済み] javascriptのウィンドウ位置のhrefはハッシュなし?

2023-03-13 04:02:57

質問

私は持っています。

var uri = window.location.href;

これは http://example.com/something#hash

を使わずにパス全体を取得する最も簡単で良い方法は何でしょうか? #hash ?

uri    = http://example.com/something#hash
nohash = http://example.com/something

を使ってみました。 location.origin+location.pathname を使ってみましたが、すべてのブラウザで動作するわけではありません。私は location.protocol+'//'+location.host+location.pathname を使ってみましたが、これは私にはくだらない解決法のように見えます。

これを行うための最良かつ最も簡単な方法は何でしょうか?

どのように解決するのですか?

location.protocol+'//'+location.host+location.pathname は、ポート番号やクエリ文字列を気にしないのであれば、正しい構文です。

もし気にするのであれば

https://developer.mozilla.org/en/DOM/window.location

location.protocol+'//'+
  location.host+
  location.pathname+
 (location.search?location.search:"")

または

location.protocol+'//'+
  location.hostname+
 (location.port?":"+location.port:"")+
  location.pathname+
 (location.search?location.search:"")

また、単に location.href.replace(location.hash,"")

これは、文字列内の他のハッシュ文字に関係なく、最初の#以降をすべて削除します。

あるいは URLオブジェクト :

const url = new URL("https://www.somepage.com/page.hmtl#anchor") //(location.href);
console.log(url)
url.hash="";
console.log(url)