替换部分URL的onclick和重定向


Replace part of URL onclick and redicrect

我试着在这里和谷歌上寻找答案,但也许我没有使用正确的搜索词…我就是找不到。希望有人能帮我解决这个问题。

在一个bi-lingual商店,我希望一个人被重定向到相同的产品在不同的domain/url,当点击english flag按钮。

www.mydomain**.nl/a1**/product1.html

为起始点。点击英文标志应该会获取域名和类别,并更改它并转到新创建的url:

www.mydomain**.com/a2**/product1.html

然后

www.mydomain**.nl/b1**/product1.html,点击'english flag'按钮后变为:

www.mydomain**.com/b2**/product1.html

等。

大约有30个不同的页面像这样被改写,所有的页面都有相同的'english flag'按钮。

如果url的一部分是'。nl/schoenen/'然后更改并转到'.com/shoes/'

如果url的一部分是'。nl/jassen/'然后更改并转到'.com/jackets/'

TL;DR -使用一些javascript来操作url onclick,按照您希望的方式重新组装url,重新加载新url。

我曾经做过一个双语商店,并在路径中插入一个"es"或"en"来表示西班牙语或英语,本质上是作为一个URL参数。你的目标有点复杂(我假设它必须是),但这可能会让你开始。你可以在这里看到商店(不是我的设计——不要怪我。)根据网站所有者的要求(一些合法的东西),大部分内容是离线的,但你应该能够浏览一些页面并看到语言切换的效果。

单击语言切换触发一些简单的Javascript,如下所示:

function switchLanguage(lang) {
  u = location.href.split('/');
  u[3] = lang;
  location.href = u.join('/');
}

然后一个onclick被添加到语言切换链接到直接onclick="switchLanguage('en')"onclick="switchLanguage('es')",或任何你的URL注入是。同样,这是特定于我的示例,其中URL参数将跟随第三个正斜杠(u[3] = lang),但这应该使您开始为操作和重新组装划分URL。

这里有一些很好的例子。

当然,我的网站的本地化版本需要驻留在这些url路径下(在我的情况下,我改变了一些PHP全局变量,以说明url中的不同语言代码,所以底层的东西真的是最小的),但这是一个方法,让你开始如何拆分/更改/替换你的url onclick。

只需使用IF语句,如果按钮被单击,url将被更改!每个url都指向不同语言的页面。如果我没看错你

您当前所在的Url在窗口中。位置的对象。当您想要重定向时,检索它(window.location)。(例如Href),使用字符串操作更改域并重定向窗口?

如果我没有正确理解你的问题,我很抱歉。

你可以创建一个方法来"翻译"当前url:

function translateUrl(string transArticleName) {
    var newTerm = ".com/"+transArticleName+"/";
    return window.location.href.replace("/.nl/['w]{1,}//", newTerm);
} 

或者你阅读文章名称并将其翻译成英文:

function translateUrl(string transArticleName) {
    var oldTerm = window.location.href.match("/.nl/['w]{1,}//")[0];
    var aName = oldTerm.match(/'/['w]{1,}'//)[0].match(/[^'/]{1,}/)[0]
    var transArticleName = //translate aName server side
    var newTerm = ".com/"+transArticleName+"/";
    return window.location.href.replace(oldTerm, newTerm);
} 

正如你所看到的,我不是regex的主人,所以我相信有一个更好的方法来使用它们。