【问题标题】:How to load different stylesheets depending on the previous URL如何根据之前的 URL 加载不同的样式表
【发布时间】:2013-04-18 01:14:22
【问题描述】:

我们的业务网络对每个场地和我们所有的在线预订都使用相同的 PHP 预订系统。目前,预订系统的风格非常平淡,而且我们所有的场馆都有自己的网站,有自己的风格,从网站点击“立即预订”并加载预订系统时没有连续性.

我想知道是否有一种方法可以在预订系统登录页面上放置一些 javascript,它可以加载外部样式表,具体取决于客户点击的 URL。

最好是这样的

<script language="javascript" type="text/javascript">
if(window.location.search.indexOf('example1.co.uk') === 0)
    document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"style1.css\" />");
</script>

<script language="javascript" type="text/javascript">
if(window.location.search.indexOf('example2.co.uk') === 0)
    document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"style2.css\" />");
</script>

这似乎不起作用。任何帮助将不胜感激!

【问题讨论】:

  • 在 PHP 中使用 Sessions 来跟踪您想要显示的样式表
  • 您是否收到任何错误消息,或者您只是没有得到您想要的结果?
  • 您也可以控制场地吗?如果是这样,只需在链接本身中传递一个带有正确 CSS 表的查询字符串。依靠点击后获取信息并不总是有效。
  • Populus - 使用立即预订按钮离开网站后不会删除 php 会话吗?不幸的是,预订系统在另一台服务器上。 Levi Hackwith - 没有错误消息,只是没有发生任何事情。 Rick Calder - 好主意,我试试看

标签: php css


【解决方案1】:

如果我没看错你的问题,你也应该控制场馆网站吗?如果是这种情况,请传递一个查询字符串,从原始链接中标识您要使用的 CSS 表。

类似:

<a href="http://booking_system.com/?css=1">Click to book</a>

那么就很简单了,根据结果运行php switch 语句。

<?php
$css = $_GET['css'];

switch ($css) {
    case 1:
    echo '<link rel="stylesheet" type="text/css" href="style1.css" />';
    break;
    case 2:
    echo '<link rel="stylesheet" type="text/css" href="style2.css" />';
    break;
    default:
    echo '<link rel="stylesheet" type="text/css" href="default.css" />';
    break;
}
?>

如果您必须更改预订系统网站上的页面,您甚至可以将 $css 存储在 PHP 会话中以保留它。

显然,这只有在您可以控制场馆网站上的链接时才有效,但它比事后试图获得推荐人更可预测和可靠。

【讨论】:

    【解决方案2】:

    试试document.referrer。如果用户单击链接以访问当前页面,这将为您提供以前的浏览器 URL。

    【讨论】:

      【解决方案3】:

      你可以这样做:

      <?php
      if($_SERVER['HTTP_REFERER'] == "example2.co.uk") {
          print("<link rel=\"stylesheet\" type=\"text/css\" href=\"style2.css\" />");
      }
      ?>
      

      然后您可以将上述代码转储到您网站的

      部分。

      【讨论】:

      • 哦,我喜欢它的外观。生病试一试。我的主要问题是我无法控制预订系统,只能控制场地,所以我必须等待其他人上传它才能测试它!
      • 依赖引荐来源网址不是一个好的选择,因为用户代理不需要将其与页面请求一起发送。例如,如果您单击链接以在新窗口或标签中打开它,则没有引荐来源。
      猜你喜欢
      • 2012-12-04
      • 1970-01-01
      • 2016-10-21
      • 2019-07-18
      • 2011-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多