Javascript 更改部分url文本并重新加载页面
有没有办法创建包含当前url一部分的标记链接 我会用它来改变语言,但保持在当前页面 如果我在:Javascript 更改部分url文本并重新加载页面,javascript,php,html,Javascript,Php,Html,有没有办法创建包含当前url一部分的标记链接 我会用它来改变语言,但保持在当前页面 如果我在: www.mysite.com/contact 我要强调: <a>FR</a> 亲切的问候你可以试一下 function changeLng(lang) { // remove language '/fr/' or '/es/' if exists var path = window.location.pathname.replace(/\/[a-z]{2}/, '
www.mysite.com/contact
我要强调:
<a>FR</a>
亲切的问候你可以试一下
function changeLng(lang) {
// remove language '/fr/' or '/es/' if exists
var path = window.location.pathname.replace(/\/[a-z]{2}/, '');
// reload the page same url with the lang prefix
window.location.href = '/' + lang + path;
}
链接可以是
<a href="javascript:changeLng('fr');">FR</a>
<a href="javascript:changeLng('es');">ES</a>
<a href="javascript:changeLng('en');">EN</a>
试试这个:
HTML:
谢谢。唯一的问题是它会生成:两次//…我如何从example.com/fr/contact返回example.com/contact?Thanks@iolli仅删除正则表达式中的+'/'部分和las\/检查更新。我没有试过这个代码,但是你现在知道如何解决这个问题了
<a href="javascript:changeLng('fr');">FR</a>
<a href="javascript:changeLng('es');">ES</a>
<a href="javascript:changeLng('en');">EN</a>
function removeLng() {
// remove language
var path = window.location.pathname.replace(/\/[a-z]{2}/, '');
window.location.href = path;
}
<a href="fr/contact" id="myLink">FR</a>
$("#myLink").click(function(e){
e.preventDefault();
var url = document.url; // get current page url
url = url.substr(0, url.indexOf('/')); // get substring from url
url += "/" + $(this).attr("href"); // add href of a tag to url
window.location.href = url; // locate the page to url
});