【问题标题】:How to create multiple themes (css) for different clients如何为不同的客户创建多个主题(css)
【发布时间】:2017-09-10 17:48:55
【问题描述】:

我需要允许每个客户定制自己的主题。 我的问题是如何在有人登录之前知道要显示哪个主题。

我的想法是为每个客户使用一个子域。

任何人都可以为我提供有关如何实施此操作的最佳实践指南? 我在客户端使用 Angular 4。

谢谢。

【问题讨论】:

  • 如果您想使用子域,您需要购买更昂贵的 ssl 证书,此外,它们并不都出售。我希望你使用的是 https?
  • 目前我使用的是http,但将来会使用https。我不介意为 ssl 证书多付一点钱,问题是实现这一点的最佳实践是什么?使用子域是正确的方法吗?
  • 我不这么认为。取决于主题中界面的深度处理。尝试只做 css
  • 还是如何知道用户登录前要加载哪个css?除了子域,我没有看到任何其他解决方案。
  • 为什么要在登录前加载主题的css?毕竟你不知道这是同一个用户。

标签: javascript css angular sass themes


【解决方案1】:

1) 不好的解决方案(改成css)

temporalScriptRender() { 
    setTimeout(() => {
      var s2 = document.createElement("script");
      s2.type = "text/javascript";
      s2.src = "/assets/js/scripts.js";
      this.elementRef.nativeElement.appendChild(s2);
     }, 1000)
}

2) 很好的解决方案

 constructor (@Inject(DOCUMENT) private document) { }

        FirstTheme() {
            this.document.getElementById('theme').setAttribute('href', 'first-theme.css'); }


        SecondTheme() {
            this.document.getElementById('theme').setAttribute('href', 'second-theme.css'); }

【讨论】:

    猜你喜欢
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 2021-12-07
    • 2011-05-05
    相关资源
    最近更新 更多