在我的 yii 应用程序中,我使用选项卡并使用 renderPartial()
加载每个 ajax 的内容。为了不多次加载所有脚本,我将 processOutput
设置为 false
。所以我想在索引页面手动加载所有需要的脚本。
我还在页面上使用了一些扩展。所以我还需要手动加载他们的js/css。问题是:
- 如何确定页面上将使用哪些扩展并加载其 js/css 文件?
- 另一个问题是:比如我会使用bootstrap扩展。该扩展有assets文件夹,其中包含许多javascript文件。如何导入所有文件?
我还想了解使用 Ajax 加载相同内容 (GridView
) 的最佳实践,而不会在使用 Fitlers/Delete 按钮时收到重复的 ajax 请求。
最佳答案
How can I figure out which extensions will be used on the page and load their js/css files?
您必须在使用文件之前加载它们。这必须手动完成。
在访问任何函数之前,请使用 require('script.js')
之类的函数。
您的 require()
方法应该检查脚本是否已加载,如果没有则执行 ajax 请求。
您可以使用RequireJS为您执行此任务。
Another problem is: for example, I will use bootstrap extension. The extension has assets folder, which contains many javascript files. How can I import all the files?
您必须单独导入每个文件,这意味着您的应用程序需要知道所有文件。
一个好主意是创建一个配置文件:content.json
。
您的函数首先获取包含所有引导资源的配置文件。然后,它获取所有这些资源。
I would also like to hear about best practices for loading the same content (GridView) with Ajax without getting duplicate ajax requests when using Fitlers/Delete buttons.
围绕 ajax()
编写一个包装函数来缓存结果。
关于javascript - 手动加载扩展以及使用 Ajax 进行 renderPartial 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30119930/