Javascript 手动加载扩展以及在renderPartial中使用Ajax的最佳实践
在我的yii应用程序中,我使用选项卡并通过Javascript 手动加载扩展以及在renderPartial中使用Ajax的最佳实践,javascript,ajax,yii,Javascript,Ajax,Yii,在我的yii应用程序中,我使用选项卡并通过renderPartial()按照ajax加载内容。为了不多次加载所有脚本,我已将processOutput设置为false。所以我想在索引页面手动加载所有需要的脚本一次 我还在页面上使用了一些扩展。所以我也需要手动加载他们的js/css。问题是: 我怎样才能知道页面上将使用哪些扩展并加载它们的js/css文件 另一个问题是:例如,我将使用引导扩展。扩展名具有assets文件夹,其中包含许多javascript文件。如何导入所有文件 我还想了解使用A
renderPartial()
按照ajax加载内容。为了不多次加载所有脚本,我已将processOutput
设置为false
。所以我想在索引页面手动加载所有需要的脚本一次
我还在页面上使用了一些扩展。所以我也需要手动加载他们的js/css。问题是:
- 我怎样才能知道页面上将使用哪些扩展并加载它们的js/css文件
- 另一个问题是:例如,我将使用引导扩展。扩展名具有assets文件夹,其中包含许多javascript文件。如何导入所有文件
GridView
)的最佳实践,在使用Fitlers/Delete按钮时不会收到重复的Ajax请求
我怎样才能知道页面上将使用哪些扩展并加载它们的js/css文件
在使用这些文件之前,必须先加载它们。这必须手动完成。
在访问任何函数之前,请使用类似于require('script.js')
的函数
您的require()
方法应该检查脚本是否已加载,如果未加载,则执行ajax请求
您可以使用来为自己执行此任务
另一个问题是:例如,我将使用引导扩展。这个
扩展名具有assets文件夹,其中包含许多javascript文件。怎么
我可以导入所有文件吗
您必须单独导入每个文件,这意味着您的应用程序需要知道所有文件
一个好主意是创建一个配置文件:content.json
。
函数首先获取包含所有引导资源的配置文件。然后,它获取所有这些资源
我还想听听关于加载相同内容的最佳实践
使用Ajax的内容(GridView),而不会获得重复的Ajax请求
使用Fitlers/Delete按钮时
围绕缓存结果的
ajax()
编写一个包装函数。谢谢您的评论,但不幸的是,它对我没有多大帮助。我的问题要具体得多。在yii中,所有扩展都注册在config/main.php
中。但是,我使用renderPartial
渲染TbGridView
,将processOutput
参数设置为false
。这意味着不会加载所有脚本(以防止重复Ajax请求)。这个问题涉及到我以前的问题: