JavaScriptで新しい場所オブジェクトを作成します
-
13-09-2020 - |
質問
JavaScriptで新しい場所オブジェクトを作成することは可能ですか?私は文字列としてURLを持っています、そして、私はjavascriptがすでにそれのさまざまな部分にアクセスすることを提供したいです。
これは私が話しているものの例です(私はこれがうまくいないことを知っています):
var url = new window.location("http://www.example.com/some/path?name=value#anchor");
var protocol = url.protocol;
var hash = url.hash;
// etc etc
.
このようなものは何でも、本質的にこのオブジェクトを自分で作成する必要がありますか?
解決
well、anchor要素を使用してURL部品を抽出することができます。
var url = document.createElement('a');
url.href = "http://www.example.com/some/path?name=value#anchor";
var protocol = url.protocol;
var hash = url.hash;
alert('protocol: ' + protocol);
alert('hash: ' + hash);
.
現代のすべてのブラウザで、IE 5.5 +。
例ここ。
他のヒント
標準 URLオブジェクト?
var url = new URL("http://www.example.com/some/path?name=value#anchor");
var protocol = url.protocol;
var hash = url.hash;
.
警告:このインタフェースは少し新しく、 Transpiler 、互換性を確認してください。テーブルとターゲットブラウザでテストを実行します。
アンカー要素の電源を活用することができます
var aLink = document.createElement("a");
aLink.href="http://www.example.com/foo/bar.html?q=123#asdf";
alert(aLink.pathname);
. あなたはそれを正規表現で解析することができます。
var myUrl = window.location.href;
var matches = myUrl.match(/([^\?]+)\?(.+)/);
var queryData = matches[2];
.
一致[0]はフル文字列です。...
このためにすでにさまざまなライブラリの1つを使用することもできます。
所属していません StackOverflow