我需要一些建议如何查找和删除两个字符串的公共部分。
我的(不是总是在工作)代码:
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。
答案 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('//','');
}
}