0

我需要这方面的帮助。例如,我有 3 个页面(Page1.aspx、Page2.aspx、Page3.aspx),并且我还有一个模式弹出窗口,用户在其中输入一个 url。现在,我想测试输入的 url 是否是我拥有的应用程序的一部分。

到目前为止我所做的是使用该Uri.TryCreate(url, UriKind.Absolute, out uriResult)方法,但它似乎不符合要求,因为它在用户通过时不起作用google.com,它将它视为相对 url 而不是绝对 url。

以下是我测试的一些网址及其各自的结果:

4

1 回答 1

0

我想测试输入的 url 是否是我拥有的应用程序的一部分。

为此,您可以使用可用对象locationwindow

function TryCreate(url) {
  if (url == window.location.host) {
    return "relative";
  } else if (url.split('?')[0] == window.location.host && url.slice(url.indexOf('?')) == window.location.search) {
    return "relative";
  } else {
    return "absolute";
  }
}

document.querySelector('button').addEventListener('click', function(e) {
  document.querySelector('pre').textContent = document.querySelector('input[type="text"]').value + ":" + TryCreate(document.querySelector('input[type="text"]').value);
}, false);
<input type='text'>
<button>check url</button>
<pre></pre>


<sub>due to some restriction you should add this url "stacksnippets.net"</sub>

于 2015-11-30T07:02:59.717 回答