- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
长话短说,我正在开发一个网络应用程序并在其中使用 AJAX。我试图在单击时禁用链接的默认操作,将哈希值附加到链接,然后从 url 中删除“#”。
我遇到的问题是,尽管相应地附加了哈希值,子字符串方法并没有提取“#”,而是提取了它后面的字母......
这是我的代码。附言,我在那里留下了我的评论,这样你就可以了解我想要解决的问题所以我不知道....我的逻辑或设置可能是错误的....
$(document).ready(function(){
//app vars
var mainHash = "index";
var menuBtn = $('.leftButton');
//~~~~~~load the index page at first go.
loadPage();
//~~~~~~~~~~~~~~~~~~~~~~~~~~~menu show/hide
menuBtn.click( function(){
$('#menu').toggleClass();
});
//Menu items on click , disable link default actions.
$('#menu a').click( hijackLinks );
//~~~~~~~~~~~~~~~~~~~~~~~~~~~functions for mobile index load AND hijacking app links to AJAX links.
function loadPage(url){
if( url == undefined){
$('#contentHere').load('index.html #content', hijackLinks);
window.location.hash = mainHash;
} else {
$('#contentHere').load(url + '#content', hijackLinks );
}
}
function hijackLinks(e){
var url = e.target.href;
e.preventDefault();
loadPage(e.target.href);
window.location.hash = $(this).attr("href").substring(1);
}
});
我想要的是从 url 中删除“#”。我做错了什么,我没有看到/理解什么?
我试过 substring/substr 等,两者都做同样的事情,无论我选择将什么数字插入到子字符串参数中,它们都会删除除“#”之外的所有内容,哈哈....
提前致谢。
最佳答案
好吧,您并没有真正更改链接本身,您只更改了 window.location.hash
,并且哈希始终以“#”开头。
要更改整个网址(并删除“#”),您需要做的是 manipulate the browser history .
虽然您应该知道它只适用于较新的浏览器(确切的浏览器版本在链接中),所以如果您将您的网站定位到也较旧的浏览器,您可能需要考虑使用哈希进行回退。如果您决定使用这样的后备方案,我建议您搜索一个可以执行此操作的插件,而不是自己全部制作。
关于Javascript子串方法帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11876101/
我正在尝试创建一个程序,其中字符串的前三个字符重复给定次数,如下所示: foo('Chocolate', 3) # => 'ChoChoCho' foo('Abc', 3) # => 'AbcAbcA
我有以下字符串: std::string str = "Mode:AAA:val:101:id:A1"; 我想分离一个位于 "val:" 和 ":id" 之间的子字符串,这是我的方法: std::st
DNA 字符串可以是任意长度,包含 5 个字母(A、T、G、C、N)的任意组合。 压缩包含 5 个字母(A、T、G、C、N)的 DNA 字母串的有效方法是什么?不是考虑每个字母表 3 位,我们可以使用
是否有一种使用 levenstein 距离将一个特定字符串与第二个较长字符串中的任何区域进行匹配的好方法? 例子: str1='aaaaa' str2='bbbbbbaabaabbbb' if str
使用 OAuth 并使用以下函数使用我们称为“foo”(实际上是 OAuth token )的字符串加密 key public function encrypt( $text ) { // a
我是一名优秀的程序员,十分优秀!