0

我需要一些建议如何查找和删除两个字符串的公共部分。

我的(并非总是有效)代码:

var link = $('.some a').attr('href');
window.location.hash = link.replace(window.location.url, '');

脚本应该在 AJAX 中的“#”之后添加链接,以使用户可以链接到网站中的特定文章(当文档准备好时,另一个脚本将检查根 url 之后的内容以及需要动态加载内容时)。

但问题是,链接并不总是包含“http://”或域名,我想防止在 # 之后出现重复的域名,我还想在不同的域和文件夹上工作。

对于 eq 链接包含字符串:'/joomla-folder/index.php/ssome-article-name' 并且window.location.url是' http://mydomain.com/joomla-folder/ '

/xxx/ 是安装 joomla 的子文件夹。

我想要实现的结果是以这种方式创建字符串:'index.php/ssome-article-name'(接下来是我现在得到的部分)并用于window.location.hash获取这样的 url:http: //mydomain.com/joomla-folder/#/index.php/ssome-article-name并且当客户端类型 url 像这样用于replace('#/','')创建我将传递给 AJAX 函数的 url 时。

4

1 回答 1

0

好的,在我的情况下,我使用了这样的东西,它对我有用:

var linkPreHash = window.location.href.split('/');
var linkToReplace = $(this).attr('href');
for(var i = 0; i < linkPreHash.length; i++){                
    linkToReplace = linkToReplace.replace(linkPreHash[i], "");
    if(i == linkPreHash.length-1){
        window.location.hash = linkToReplace.replace('//','');
    }
}   
于 2013-11-07T10:59:35.837 回答