我有一个可重复使用的google-maps
小部件,可以插入任何想要使用它的页面。
小工具具有:
- 谷歌地图特定的
js
包括 - 映射特定的
css
以设置映射样式
问题:
- 小部件代码被包含为
server-side
包含 - 小部件特定的
js
和css
必须包括在小部件代码中 - 因此,如果小部件在一个页面上重复5次,那么
js
和css
的include语句将被包含5次 - 我不能在
<head>
标签中保留小部件特定的内容,因为如果页面上没有使用小部件,那么客户端上就会下载未使用的js
和css
那么,我应该如何保留js
和css
,以便它们只有在使用小部件时才被包含,而在重复小部件的情况下不会进行多次包含。
我的技术:
Django-Python
[如果重要的话]- 我在
php
上也遇到了同样的问题
注意:
- 我知道在一个页面上多次包含相同的
js
和css
并不会强制客户端多次下载它们,但我希望避免多次包含
我应该如何解决这个问题
如果我错过了什么,请随时询问更多信息。:)
根据您的用例,有几个选项:
-
为所有需要小部件的页面使用单独的基本模板;在此基础上添加所需的js/css文件。对于所有需要小部件的视图,从修改后的基础继承。
-
使用javascript实现条件包含。