对于多语言网站,我想要两个按钮来表示网站上存在的两种语言。
标准网址为:mydomain.com/something(例如德语)。
英文网址为:mydomain.com/en/something
如何设置按钮以获取当前的url /页面(在这种情况下为/something
并在其前面添加/en
?我发现的所有内容都是在整个域之后添加内容。
非常感谢您。
答案 0 :(得分:1)
console.log(document.location.origin + "/en" + document.location.pathname)
答案 1 :(得分:0)
我不确定您的最终目标是什么,但是如果涉及到重新加载URL中具有本地化的同一页面(即在按钮上单击,则重新加载页面,页面的URL更改为 mydomain.com/en / something ,这意味着在您下次单击按钮时,需要重新加载页面,并且其URL也需要再次为 mydomain.com/something ),然后您可能需要查看RegEx和针对当前URL运行它,然后换出按钮中的URL,以便在单击时转到正确的域版本。
如果最终目标是仅获取当前URL并切换是否在URL中显示本地化,则请查看下面的代码段,希望对您有所帮助。
为进一步阅读,我认为这些资源可能对您有所帮助:
jQuery(document).ready(function($) {
var $languageToggle = $('#language-toggle');
var origin = location.origin;
var pathname = location.pathname;
$languageToggle.on('click', function() {
var $this = $(this);
var toLanguage = $this.data('to-language');
var currentLanguage = $this.data('current-language');
var localisation = '';
/**
* This if statement will help prevent the constructedUrl variable
* from ever having a url such as https://website.com//page
* (notice the double forward slashes after .com).
*/
if (toLanguage) {
localisation = '/' + toLanguage;
}
var constructedUrl = origin + localisation + pathname;
$this.data('to-language', currentLanguage);
$this.data('current-language', toLanguage);
$('#output').text(constructedUrl);
});
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="output">Click on the toggle button</div>
<button id="language-toggle" data-to-language="en" data-current-language="">
Toggle language
</button>
答案 2 :(得分:-1)
var myFunc = () => {
window.location.href = window.location.href + "place you text here"
}
Click the button and the page will be edited
<button onclick="myFunc()">click me</button>