1

我正在建立一个网站,访问者会看到一个闪屏,他们将在其中为实际网站选择配色方案;根据他们的选择,实际网站将加载不同的样式表。我认为这可以通过将标志连接到 URL 来完成,然后在下一页上读取标记的 URL 以确定要加载的样式表(例如,要加载深色主题,URL 将变为http://www.mywebsite.com/index-dark;单击浅色主题链接会制作 URL http://www.mywebsite.com/index-light。问题是,我不知道如何在 URL 中添加标志,或者如何在不同的页面上读取这个标志。我试过用谷歌搜索这个问题,但发现的实用信息很少。如何这能做到吗?

编辑:我想避免使用两个单独的页面,因为我将有多个主题;这意味着基本上多次复制我的根目录中的每个 HTML 页面,占用空间。$_GET不过,我喜欢隐藏变量的想法。

4

2 回答 2

1

没有更多信息,我只能给出一些一般性的建议。

所以我假设你正在用 PHP 构建一个页面,所以你可以有两个不同的 url 并使用 mod_rewrite 来转换/index-dark/index?style=dark但这很糟糕。

您可能想要的是使用 cookie 或会话。基本上,您检查主题设置的cookie会话值,然后在生成页面时选择适当的 CSS 文件。

这有几个优点:

  • 不需要使用 url 重写,在最好的情况下容易出错
  • 允许持久设置(如果您使用 cookie)并且不涉及复杂的 url。
  • 允许添加更多主题而无需更改大量代码,只需将设置添加到主题选择器和新的 CSS 文件即可。

GET 变量通常只对随请求发送的特定数据有用,有点像 POST 变量主要用于表单和提交的数据。如果您想要持久设置,那么会话/cookie 是最佳选择。

于 2012-07-23T22:18:28.223 回答
0

您提到的“标志”实际上可能是$_GET使用mod_rewrite. 您可以做的是编辑您的.htaccess文件以添加重写规则,例如更改www.mywebsite.com/index.php?style=index-darkwww.mywebsite.com/index-dark(不幸的是,我没有具体如何执行此操作的经验;我只知道可以完成)并让您的 PHP catch $_GET['style']

于 2012-07-23T22:03:43.067 回答