【问题标题】:How can I dynamically update a variable in plain html files in on windows web server如何在 Windows Web 服务器上动态更新纯 html 文件中的变量
【发布时间】:2010-10-01 21:46:12
【问题描述】:

我们在网站上有一些旧的 html 文件,页面底部有版权年份(来自包含文件)。我们正在尝试找到一种将其动态更新到当前年份的方法,因此不需要每年都编辑包含文件。我们在同一台服务器上使用 asp 和 .net,因此可能有办法使用这些技术来实现这一点。

我正在考虑几种可能实现这一目标的方法,但我确信我错过了一些东西。也许可以进行某种令牌替换或其他操作。

以下是我正在考虑的几个选项。

  1. 服务器上的进程将每天检查一次年份更改并重写包含文件,或者每年由计划任务触发一次。

  2. 访问时会检查当前年份并将其写入包含文件的 Web 应用程序。它需要写入磁盘的权限。然后使用 wget 之类的东西访问它,每年一次的计划任务或在时间到时手动访问它。

  3. 将 javascript 作为非 asp 包含文件的一部分嵌入,这些文件将在页面完成加载之前动态更新年份。这是实现这一目标的最简单方法之一,但可能不是最好的。

  4. 找到一种在嵌入文件之前对其进行处理的方法。

  5. 对 html 文件启用 asp 处理。由于它可能导致服务器负载,这是不可取的。

【问题讨论】:

    标签: html asp-classic include


    【解决方案1】:

    您可以创建一个批处理文件,根据当前日期生成包含文件。然后从计划任务中定期调用该批处理文件。

    例如具有以下内容的批处理文件,将版权声明写入“c:\copyright.inc”:

    echo Copyright (C) %date:~6,4% - My Company > c:\copyright.inc
    

    请注意,这适用于 DD.MM.YYYY 日期格式。对于 YYYY/MM/DD 日期格式,您可能必须将“~6,4”部分更改为“~0,4”。

    【讨论】:

      【解决方案2】:

      IANAL,但我质疑自动生成的版权声明是否有效?

      如果您要声明版权,我认为您至少可以自己做正确的日期,而不是将其留给计算机。

      下一个最好的办法是发布版权声明,不注明日期。

      【讨论】:

      • 好点。我要提出来,也许这会动摇他们。
      • 据我了解,除非内容有,否则版权不会更新。即便如此,我认为它必须以非常具体的方式改变。这是假设内容首先是受版权保护的。
      【解决方案3】:

      转换为 ASP 经典(只需更改文件扩展名),使用此:

      <%=DatePart("yyyy", Now())%>
      

      无论你做什么,都在服务器端做。使用 Javascript,您依赖于用户的系统时钟。在涉及任何类型的法律问题时,将控制权交给用户都不是一个好主意。

      【讨论】:

        【解决方案4】:

        嗯..每年调整包含文件要花多少钱?

        开发、测试和调试解决方案的成本是多少?

        【讨论】:

        • 我 100% 同意你的观点,但我找到了解决方案。所以这是一个最好的方法。我想这就是当那些想要完成某事的人不了解所涉及的内容时会发生的情况。
        【解决方案5】:

        假设您希望将它们保留为 HTML 而不是某种动态语言(这听起来是个好主意),我会将它们全部转换为使用服务器端包含,修改所有 HTML 文件(一次性命中)以包含版权信息,然后将其放入一个包含文件中。然后,您每年只需更新一个文件,即可轻松实现自动化。

        【讨论】:

          猜你喜欢
          • 2013-03-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-12-15
          • 2014-03-30
          • 1970-01-01
          • 1970-01-01
          • 2023-03-04
          相关资源
          最近更新 更多