2

当我访问我的网址时,我的脚本将获取当前网址并将其存储在一个变量中

var currentURL = (document.URL);

我想在我的 url 中获取正斜杠之后的所有内容,因为在正斜杠之后会有一个哈希 ID,如下所示:

www.mysite.com/XdAs2 

所以这将存储在我的变量 currentURL 中,我只想XdAs2从中获取并将其存储到另一个变量中。另外,我想知道另外两件事。

  1. document.URL 是获取当前 URL 的最佳方式,还是我会遇到某些浏览器的问题?

  2. 如果我尝试使用 iframe 打开该 URL,document.URL 是否仍然有效?还是必须有一个包含网址的地址栏?我真的很感谢这些问题的三个问题的答案。谢谢

4

4 回答 4

5

这是一些伪代码:

var currentURL = (document.URL); // returns http://myplace.com/abcd
var part = currentURL.split("/")[1];
alert(part); // alerts abcd

基本上:

1)document.URL应该在所有主要浏览器中都能正常工作。有关更多信息,请参阅此Mozilla 开发人员网络文章或此SO 问题

2)对于一个iframe,你需要写这样的东西:document.getElementById("iframe_ID").src.toString()

于 2013-10-05T10:55:17.803 回答
1

使用 jquery,您可以执行以下操作以访问当前 URL 的每一英寸: www.mysite.com/XdAs2?x=123

假设您有以下 url: 1- 获取 jQuery 对象中的 url

var currentUrl = $(location)

2-使用以下语法访问所有内容

var result = currentUrl.attr('YOUR_DESIRED_PROPERTY');

一些常见的属性:

  • 主机名 =>www.mysite.com
  • 路径名 =>XdAs2
  • 搜索 =>?x=123

我希望这可能会有所帮助。

于 2013-10-05T11:13:34.280 回答
1

如果您想要主机之后的所有内容,请使用window.location.pathname

于 2015-05-08T16:51:36.757 回答
0

继 Mohammed 的回答之后,您可以在 vanilla javascript 中做同样的事情:

var urlPath = location.pathname,
    urlHost = location.hostname;
于 2015-04-07T13:08:24.643 回答