如何修改我的JS代码以使用我的新URL结构?

时间:2016-10-12 07:27:02

标签: javascript url

我试图从网址中提取搜索字符串。

当网址如下所示我能够做到这一点:

onclick = "validate();return false;"

但不是在URL如下所示:

http://domain.com/search/keyword

以下是适用于我的第一个示例的Javascript代码,但我现在无法在URL结构发生变化的情况下使用它。

http://domain.com/#/search/keyword

当URL结构如下所示时,上面的代码工作得很好:

http://domain.com/search/keyword

但不是看起来像这样:

function () {
  // find and store the path of the current page
  var pagePath = location.pathname;
  // if the path starts with /search/, we know it's an internal SERP
  if (pagePath.indexOf("/search/") === 0) {
    // if the above checks out, let's figure out where the search term begins in the URL. Then, let's use that starting point to pull out the search term itself.
    var searchString = pagePath.substring(pagePath.lastIndexOf("/") + 1);
    // return what we found to GTM as the value of our variable
    return searchString;
  }
  // if it's not an internal SERP page, return "none"
  else {
    return "none";
  }
}

问题是:如何修改上面的JS代码以使用我的新URL结构?

我尝试过改变我的JS代码部分:

http://domain.com/#/search/keyword

  if (pagePath.indexOf("/search/") === 0) {
但是我无法让它发挥作用。请帮助:)

1 个答案:

答案 0 :(得分:1)

哈希符号#表示url fragment,不属于pathname。您可以使用location.hash

访问网址片段