【问题标题】:Add Extension to Index File为索引文件添加扩展名
【发布时间】:2015-09-08 02:04:21
【问题描述】:

我一直在网上搜索这个问题的答案,但我似乎找不到任何可以提供帮助的东西。

我想知道是否可以在 .html 之后打开带有扩展名的 index.html 文件

(例如,当您双击文件或单击连接到该文件的链接时,它会自动打开这样的文件 - index.html?lc=uk)。

希望这是有道理的。

如果有人能提供帮助将不胜感激。

问候, 赛博

用户2072826

    function setGetParameter(paramName, paramValue)
{
    var url = window.location.href;
    if (url.indexOf(paramName + "=") >= 0)
    {
        var prefix = url.substring(0, url.indexOf(paramName));
        var suffix = url.substring(url.indexOf(paramName));
        suffix = suffix.substring(suffix.indexOf("=") + 1);
        suffix = (suffix.indexOf("&") >= 0) ? suffix.substring(suffix.indexOf("&")) : "";
        url = prefix + paramName + "=" + paramValue + suffix;
    }
    else
    {
    if (url.indexOf("?") < 0)
        url += "?" + paramName + "=" + paramValue;
    else
        url += "&" + paramName + "=" + paramValue;
    }
    window.location.href = url;
}

然后在body标签中:

<body onload="setGetParameter('lc', 'uk');">

这已经奏效,但问题是它不断刷新页面。有没有办法停止刷新?

【问题讨论】:

    标签: html css


    【解决方案1】:

    不幸的是,这不起作用。您不能将 URL 参数传递到文件名中。

    如果您想在页面加载时添加它,您可以将其添加到页面的 JavaScript:

    function setGetParameter(paramName, paramValue)
    {
        var url = window.location.href;
        if(!(url.indexOf(paramName) >= 0))
        {
          if (url.indexOf(paramName + "=") >= 0)
          {
              var prefix = url.substring(0, url.indexOf(paramName));
              var suffix = url.substring(url.indexOf(paramName));
              suffix = suffix.substring(suffix.indexOf("=") + 1);
              suffix = (suffix.indexOf("&") >= 0) ? suffix.substring(suffix.indexOf("&")) : "";
              url = prefix + paramName + "=" + paramValue + suffix;
          }
          else
          {
          if (url.indexOf("?") < 0)
              url += "?" + paramName + "=" + paramValue;
          else
              url += "&" + paramName + "=" + paramValue;
          }
          window.location.href = url;
        }
    }
    

    然后在body标签中:

    <body onload="setGetParameter('lc', 'uk');">
    

    Original Source(是的,代码有区别)

    【讨论】:

    • 您好 user2072726,它似乎没有工作,我已将代码添加到 html 文件中,但是当我打开文件时它似乎没有任何改变。
    • 抱歉忽略之前的评论,我已经解决了为什么它不起作用并且它的工作:) - 但唯一的问题是它不断刷新页面.. 无论如何要停止?
    • 好的,我添加了第二段代码来防止页面重新加载。只需用编辑替换我已经给你的内容。
    • 我已将其更改为新编辑,但现在它不像以前的代码那样添加扩展名。 :(
    • 我已经仔细检查了所有内容,但似乎没有将扩展名添加到 url :'(
    【解决方案2】:

    如果您使用的是 Apache,您可以使用 mod_rewrite 来执行几乎任何类型的带有请求文件名的“魔术”。当然,只要您知道 home 使用常规的 ecpressions。我建议你对 mod_rewrite 做一些研究。

    【讨论】:

      猜你喜欢
      • 2012-12-24
      • 2018-01-14
      • 2011-09-01
      • 1970-01-01
      • 2011-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-23
      相关资源
      最近更新 更多