页面特定的javascript函数

Page specific javascript function

本文关键字:javascript 函数      更新时间:2023-09-26

我在一个小型库中为我的项目编写了所有javascript代码。有一些函数只对特定的页面url运行,但是当一个链接没有它的href属性,而是有一个元素id,它的href属性被点击,页面被刷新时,这个函数不会运行。知道是什么问题吗?例如;它工作时,url是http://localhost/pheedbak/users/home但是当url更改为http://localhost/pheedbak/users/home#directed-pheeds时,函数不运行

代码是这样的

url = "http://localhost/pheedbak/users/home";
    if(window.location.href == url)
    { 
      pheeds.LoadLatestPheeds();
    }

这应该可以工作-只看#之前的东西

 if(window.location.href.split("#")[0] == url)

 if(window.location.href.split("#",1)[0] == url)

nb。未测试——可能包含错别字/错误

你可以试试这个,这将匹配,即使有其他查询字符串或哈希id:

if(window.location.href.indexOf(url) > -1)

你需要去掉重要的部分。如

var url = 'pheedbak/users/home';
if(window.location.href.replace(/.*?'/'/.*?'/(.*?)(?:'#|'?).*/,'$1') == url)
{ 
  pheeds.LoadLatestPheeds();
}

这也适用于包含GET变量的url。/users/home?id=2),不受域和协议限制

域,协议相关版本:

var url = 'http://localhost/pheedbak/users/home';
if(window.location.href.replace(/(.*?)(?:'#|'?).*/,'$1') == url)
{ 
  pheeds.LoadLatestPheeds();
}