Javascript 根据当前页面上URL的条件更改href

Javascript 根据当前页面上URL的条件更改href,javascript,Javascript,我正在尝试在我们的手机主页上插入一个区块,其中包含4个最受欢迎类别的快捷链接(通过a/B测试平台)。我们的网站在不同的国家运营,因此根据用户访问主页的国家不同,类别的链接也不同,我们的网站没有自动重定向 例如: 如果它们当前处于打开状态,则应链接到 但是 如果它们处于打开状态,则应链接到 我不熟悉JS,所以希望有人能帮助我实现这一点?我找到了这个脚本,它看起来很接近我需要的,但我不认为这是完全正确的。我需要它将目标URL的/uk en/部分与当前URL中的内容相匹配。我希望这是有道理的。国家

我正在尝试在我们的手机主页上插入一个区块,其中包含4个最受欢迎类别的快捷链接(通过a/B测试平台)。我们的网站在不同的国家运营,因此根据用户访问主页的国家不同,类别的链接也不同,我们的网站没有自动重定向

例如:

如果它们当前处于打开状态,则应链接到
但是
如果它们处于打开状态,则应链接到


我不熟悉JS,所以希望有人能帮助我实现这一点?我找到了这个脚本,它看起来很接近我需要的,但我不认为这是完全正确的。我需要它将目标URL的/uk en/部分与当前URL中的内容相匹配。我希望这是有道理的。国家/语言字符串有13种不同的可能性

<script>
    $(document).ready(function(){
        $('a[href^="http://"]').each(function(){ 
            var oldUrl = $(this).attr("href"); // Get current url
            var newUrl = oldUrl.replace("http://", "https://"); // Create new url
            $(this).attr("href", newUrl); // Set herf value
        });
    });
</script>

$(文档).ready(函数(){
$('a[href^=“http://”)。每个(函数(){
var oldUrl=$(this).attr(“href”);//获取当前url
var newUrl=oldUrl.replace(“http://”、“https://”);//创建新url
$(this.attr(“href”,newUrl);//设置herf值
});
});

您可以从window.location.href获取的当前url,然后使用url类对其进行解析:

const url = new URL(window.location.href);
然后合并部分并手动创建新url:

const newURL = `${protocol}://${part1}/${part2}/`
您还可以使用split在://之后分割部分或URL

"/path/path2/path3".split('/').map((part) => /* some transformation here */)

或者使用任何其他数组方法。

在服务器端这样做不是更容易吗?您的
uken
fr-fr
页面是如何编码的?你能把那些文件中的
href
硬编码吗?@AlexisBRENON我没有这个选择。正如我所说,我是通过A/B测试平台来设置的,所以只能影响前端。我不是开发人员,也没有访问我们的后端不幸。谢谢你的答复。不幸的是,我对JS了解不够(阅读:我实际上没有编写自己的JS的经验),无法将其转换为工作脚本。你可以使用浏览器开发工具,在那里你可以执行任何JS代码并获得答案,然后刷新页面,重新开始。我们都是从一无所知开始的,所以尝试失败也没关系。
"/path/path2/path3".split('/').map((part) => /* some transformation here */)