https://example.com/piyo/?chu=pero
こういう文字列からドメイン名を取得したいとき
これでいいのか?
よくなかった模様
function getDomainFromUrl(url) {
const dummy = document.createElement('a')
dummy.setAttribute('href', url)
return dummy.protocol + '//' + dummy.hostname
}
const url = 'https://example.com/?chu=pero'
const domain = getDomainFromUrl(url)
console.log(domain) // https://example.com
追記
@il9437 さんからコメントでもっといい方法を教えていただきました!
メソッド作る必要なかった
const url = 'https://example.com/?chu=pero'
const domain = new URL(url).origin
console.log(domain) // https://example.com
表示中のページURLからの場合
console.log(location.origin) // https://example.com
ちなみに
const url = new URL('https://example.com/piyo/puni.js?chu=pero')
console.log(url.host) // "example.com"
console.log(url.hostname) // "example.com"
console.log(url.href) // "https://example.com/piyo/puni.js?chu=pero"
console.log(url.origin) // "https://example.com"
console.log(url.pathname) // "/piyo/puni.js"
console.log(url.protocol) // "https:"
console.log(url.search) // "?chu=pero"
// もうパラメータを取得するためにこんなことしなくていいんだね🥺
const url = 'https://example.com/piyo/puni.js?chu=pero'
console.log(url.substring(url.indexOf('?'))) // "?chu=pero"
となるようです
便利!!