Yii在ajax请求上卸载bootstrap插件

时间:2012-02-22 14:55:10

标签: php ajax yii

我安装了这个扩展名http://www.cniska.net/yii-bootstrap/,当我从'preload'=>array('bootstrap','log'),发送一个ajax请求时,是可能的:bootstrap,我不需要 在ajax请求上使用bootstrap,如何避免

<link rel="stylesheet" type="text/css" href="/tamada/assets/97e8be51/css/bootstrap.min.css" />
Content updated in AJAX<script type="text/javascript" src="/tamada/assets/cb84ef9f/jquery.min.js"></script>
<script type="text/javascript" src="/tamada/assets/97e8be51/js/bootstrap-button.js"></script>
<script type="text/javascript" src="/tamada/assets/97e8be51/js/bootstrap-tooltip.js"></script>
<script type="text/javascript" src="/tamada/assets/97e8be51/js/bootstrap-popover.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
jQuery('a[rel="tooltip"]').tooltip();
jQuery('a[rel="popover"]').popover();
/*]]>*/
</script>

谢谢你,对不起我的英文

2 个答案:

答案 0 :(得分:1)

您可以选择性地将其加载到config/main.php

这可能不是最好的PHP,但应该可以。基本上,在加载配置时,使用Yii::app()->request->isAjaxRequest检查请求是否是AJAX请求。

添加到config/main.php的顶部:

<?php

// Load it by default
$preload = array('bootstrap');

// Don't load it for AJAX requests
if (Yii::app()->request->isAjaxRequest) {
    $preload = array();
}

然后使用array_merge

拉入模块(打开或关闭)
// preloading 'log' component (with selective bootstrap component)
'preload'=>array_merge(array('log'), $preload),

现在,当您对应用程序执行AJAX请求时,不应加载引导程序模块。

答案 1 :(得分:1)