5

次のURLを分割しようとしています:

http://www.store.com/products.aspx/Books/The-happy-donkey

だけを取得するためにhttp://www.store.com/products.aspx

私はJavaScriptを使用してwindow.location.hrefいますsplitが、今のところ成功していません。

これはどのように行うことができますか?ありがとう!

4

5 に答える 5

4

これを試して

var fullurl = "http://www.store.com/products.aspx/Books/The-happy-donkey",
    url = fullurl.split(".aspx")[0] + ".aspx";
于 2013-03-21T02:39:58.013 に答える
4

URLの場合:アドレスバーのhttp://www.store.com/products.aspx/Books/The-happy-donkey

 var path = window.location.pathname;
 var str = path.split("/");
 var url = document.location.protocol + "//" + document.location.hostname + "/" + str[1];
于 2013-03-21T02:41:57.193 に答える
3

これは扱いにくいではありませんか?

var url = 'http://www.store.com/products.aspx/Books/The-happy-donkey';

[
    url.split('://')[0] + '://', 
    url.split('://')[1].split('/').slice(0,2).join('/')
].join('')

少し生意気ではありません:

url.split('/').slice(0, 4).join('/')
于 2013-03-21T02:46:28.550 に答える
1

(分割よりも)より良い答えは、(楽しみのために)本当に分割を使用する必要がない限り、おそらく正直に正規表現を使用することです。

var shorterUrl = window.location.href.replace(/\.aspx.+/gi, ".aspx");

これにより、指定されたURLの末尾が.aspxで始まり、.aspx部分だけが保持されます。

しかし、何よりもまず、これは特定の問題に対する適切な解決策ではありません(このような問題をより一般的に解決してみてください)。

于 2013-03-21T02:48:16.853 に答える
0

これを試してみてください、あなたはURLのオブジェクトを取得します

console.log(new URL(document.URL));
于 2019-11-26T07:50:23.813 に答える