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


How to include plug-n-play widget statics [CSS/JS] without repetition?

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

小工具具有:

  • 谷歌地图特定的js包括
  • 映射特定的css以设置映射样式

问题:

  • 小部件代码被包含为server-side包含
  • 小部件特定的jscss必须包括在小部件代码中
  • 因此,如果小部件在一个页面上重复5次,那么jscss的include语句将被包含5次
  • 我不能在<head>标签中保留小部件特定的内容,因为如果页面上没有使用小部件,那么客户端上就会下载未使用的jscss

那么,我应该如何保留jscss,以便它们只有在使用小部件时才被包含,而在重复小部件的情况下不会进行多次包含。

我的技术:

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

注意:

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

我应该如何解决这个问题

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

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

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

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