如何在不重复的情况下包含即插即用小部件静态[CSS / JS]?

时间:2012-02-14 06:35:13

标签: php python django templates include

我有一个可重复使用的google-maps小部件,可以插入任何可能想要使用它的页面。

小工具有:

  • Google地图特定js包含。
  • 映射特定的css以设置地图样式。

问题:

  • 小部件代码包含在server-side include。
  • 小部件特定jscss必须包含在小部件代码中。
  • 因此,如果窗口小部件在页面上重复5次,则jscss的包含语句将被包含5次。
  • 我无法在<head>标记中保留特定于小部件的内容,因为如果小部件未在页面上使用,则会使用未使用的jscss客户端。

那么,我应该如何保留jscss,以便仅在使用窗口小部件时才包含它们,并且在重复窗口小部件时不会执行多个包含。

我的技术:

  • Django-Python [如果重要]
  • 我在php
  • 上也遇到了同样的问题

注意:

  • 我了解在页面上多次包含相同的jscss并不会强制客户端多次下载它们,但我希望避免使用多个包含。

我应该如何解决这个问题?

如果我错过了什么,请随时询问更多信息。 :)

1 个答案:

答案 0 :(得分:0)

根据您的使用案例,有几个选项:

  1. 为需要小部件的所有网页使用单独的基本模板;在该基础中添加所需的js / css文件。对于需要窗口小部件的所有视图,从修改后的基础继承。

  2. 使用javascript实现条件包含。