查找并删除两个字符串的公共部分并将其删除

时间:2013-11-07 09:32:27

标签: jquery ajax

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

我的(不是总是在工作)代码:

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

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

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

对于e.q.链接包含字符串:'/ jooomla-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当clitent类型url像这样使用replace('#/','')创建我将传递给AJAX函数的url。

1 个答案:

答案 0 :(得分: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('//','');
    }
}