【问题标题】:Including third party header and footer包括第三方页眉和页脚
【发布时间】:2013-02-05 21:30:30
【问题描述】:

我有一个小型网络应用程序。我的客户在他们的网站上使用它。为了使它看起来无缝(他们自己网站的一部分),他们将我的应用程序放在他们网站上的 iframe 中。这样我就不必担心页眉和页脚(品牌/样式等)。现在由于某种原因,规格已经改变,现在应用程序将不在 iframe 中。这导致我必须为每个客户维护一致的页眉和页脚品牌/样式的问题。我有很多客户,我不可能维护每个客户并始终保持更新。

所以,我正在尝试提出解决方案,让我能够从客户端继承页眉和页脚并在我的网站上使用它。我正在考虑告诉客户维护页眉和页脚 html 文件(并根据他们的品牌维护它)。然后我将进行 AJAX 调用并在我的页面上调用他们的 HTML 内容。这样我就不用担心页眉和页脚了。

您可以建议我解决此问题的其他方法吗?有遇到这种情况的经验吗?你是怎么处理的?

我知道这不是一个特定的编程问题,但我认为这是获得答案的最佳地点。 谢谢

【问题讨论】:

  • 什么是服务器端软件?
  • 我最终使用的是 PHP。
  • 这些网站是否都在同一个域中?这些网站是否都使用相同的代码运行?

标签: javascript html


【解决方案1】:

您可以将headerfooter 放在您的网络应用中的frame 中,而不是将您的网络应用程序放在iframe 中。

【讨论】:

    【解决方案2】:

    由于您使用的是 PHP,我可能会建议您包含一个“模板”目录,您可以根据客户端配置文件应用模板。

    通常,将客户端页眉和页脚 HTML 文件位置存储在您的数据库中,并查找要使用的模板。然后在你的 PHP 头文件中,包含如下内容:

    define('CLIENT_HEADER', '**header string returned from your database**');
    define('CLIENT_FOOTER', '**footer string returned from your database**');
    
    define('DEFAULT_HEADER', '**default header location in template dir**');
    define('DEFAULT_FOOTER', '**default footer location in template dir**');
    
    if (isset(CLIENT_HEADER)){
      include(CLIENT_HEADER);
    } else {
      include(DEFAULT_HEADER);
    }
         ...
           the body of your webpage
         ...
    if (isset(CLIENT_FOOTER)){
      include(CLIENT_FOOTER);
    } else {
      include(DEFAULT_FOOTER);
    }
    

    当然,您需要针对您的特定应用程序自定义它,但是一旦加载到数据库中,这将自动加载正确的页眉/页脚。如果页眉或页脚文件不在 PHP 服务器上,它认为它不会起作用,除非你弄乱了 php.ini 文件(我不是那个级别的专家,也许其他人可以对此发表评论)。

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 2018-08-21
      • 1970-01-01
      • 2016-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多