Javascript 在chrome和firefox中获取URL中断
我试图通过检查我所在的页面,然后基于我所在的页面添加一个类(具有背景图像属性),即index.php、book.php、library.php等,将背景图像应用于body元素 目前,我正在使用document.location对象(即document.location.href),并且我也尝试了window.location对象,但没有成功 我的问题是Firefox返回的URL没有尾随散列(#)或问号(?),而Chrome返回的URL带有这些尾随字符,无论这些字符后面是否有其他URL 这是我的密码:Javascript 在chrome和firefox中获取URL中断,javascript,url-rewriting,Javascript,Url Rewriting,我试图通过检查我所在的页面,然后基于我所在的页面添加一个类(具有背景图像属性),即index.php、book.php、library.php等,将背景图像应用于body元素 目前,我正在使用document.location对象(即document.location.href),并且我也尝试了window.location对象,但没有成功 我的问题是Firefox返回的URL没有尾随散列(#)或问号(?),而Chrome返回的URL带有这些尾随字符,无论这些字符后面是否有其他URL 这是我的密
switch(currentFileName()) {
case "index.php": bodyBackGroundFadeIn('home');
break;
case "library.php": bodyBackGroundFadeIn('library');
break;
case "store_library.php":
bodyBackGroundFadeIn('store_library');
break;
case "book.php": bodyBackGroundFadeIn('book');
break;
case "store_book.php": bodyBackGroundFadeIn('store_book');
break;
}
function currentFileName(){
var href = document.location.href;
return href.substr(href.lastIndexOf("/") + 1);
}
function bodyBackGroundFadeIn(class_name){
$(document.body).addClass(class_name);
$(document.body).animate({opacity: 1.0},'600');
}
有没有更好的方法来达到这个效果?我曾考虑过使用正则表达式来搜索“?”或“#”,但如果不是跨浏览器的话,我不想搞砸这件事
我还尝试使用位运算符反转空哈希值,使其在Firefox和Chrome上都能正常工作,但这也不起作用
以下是Firefox的输出:
>> document.location.href.substr(href.lastIndexOf("/") + 1);
"index.php"
以下是Chrome的输出:
>> document.location.href.substr(href.lastIndexOf("/") + 1);
"index.php?"
还有一个线程提供了许多连接和推断字符串的方法,但是没有方法来处理这个特定问题 您应该只使用
所以清理一下。你应该使用pathNamethank You@epascarello,非常感谢:)我还是javascript新手,有很多东西需要学习。
window.location.pathname.split("/").pop()