您可以在网址路径中使用变量吗?

Can you use a variable in a url path?

本文关键字:变量 路径      更新时间:2023-09-26

我的应用程序有包含不同语言内容的 html 页面。我喜欢在 url 中使用变量(在选择语言时设置),如下所示:

<a href="/language/*variable*/product.html">

编辑:我被标记为下来,所以要添加更多信息,让我们说我在页面加载时设置了这个

var language = english;

应用程序中将有链接将其更改为其他语言;-)

让你的标签看起来像这样

<a id="link" href="#">Click Me!</a>

让您的变量称为 prod。将这些行添加到您的 JavaScript 中,无论您要更新 url 的位置。

var hyperl = document.getElementById("link");
hyperl.href = "/language/" + prod + "/product.html";

编辑:使用此网页

<a id="link" href="/language/LANG/product.html">Click Me!</a>

使用此 javascript(或类似脚本)使所有链接都指向相同的语言(变量名 prod):

var links = document.getElementsByTagName("a");
for (i=0; i<links.length; i++) {
    var hyperl = links[i];
    hyperl.href.replace(LANG, prod);
}

您可以使用 jQuery 动态生成 URL。

var string = '/language/'+variable+'product.html';
$(a#language).attr('href', string);

您可以使用 Javascript 函数动态替换页面上任何<a>标签的所有href属性,如下所示:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Example</title>
    <script>
"use strict";
function setLanguage(lang) {
  var elements = document.getElementsByTagName('a')
  for (var e = 0; e < elements.length; ++e)
  { elements[e].href = elements[e].href.replace(/'?hl=[A-za-z]*/, "?hl=" + lang); }
}
    </script>
  </head>
  <body>
    <h1>Search with Google</h1>
    <ol>
      <li><a href="https://encrypted.google.com/search?hl=en&amp;q=python">Search for <b>Python</b></a></li>
      <li><a href="https://encrypted.google.com/search?hl=en&amp;q=ruby">Search for <b>Ruby</b></a></li>
      <li><a href="https://encrypted.google.com/search?hl=en&amp;q=javascript">Search for <b>Javascript</b></a></li>
    </ol>
    <br>
    <small>
      Language: 
      <a href="#" onclick="setLanguage('en')">en</a>
      <a href="#" onclick="setLanguage('de')">de</a>
    </small>
  </body>
</html>

在上面的示例中,只要按下其中一个ende按钮,url 的?hl=xxx部分就会通过正则表达式替换。