我想使用registerScript()来输出一些原始的JavaScript到我的页面。下面似乎很好地工作(在视图级别,由控制器调用):Yii Widget视图不呈现JavaScript代码
模块/对myApp /视图/ readEditor.php:
<?php
$cs = Yii::app()->getClientScript();
$cs->registerScript(
'my-hello-world-1',
'var someCoolVariableInView = 11;',
CClientScript::POS_END
);
?>
此之前显示为它应该:
/*<![CDATA[*/
var someCoolVariableInView = 11;
/*]]>*/
然而,当我在做一个小部件的视图中的当量:
模块/对myApp /组件/视图/ myWidget.php:
<?php
$cs = Yii::app()->getClientScript();
$cs->registerScript(
'my-hello-world-2',
'var someCoolVariableInWidget = 10;',
CClientScript::POS_END
);
?>
的JavaScript并没有显示出来。
我已经做了一堆google搜索,但没有发现任何有用的。我的猜测是这个小部件正在过滤掉javascript ......希望有一个参数或配置开关,我可以改变它来输出(或者有更好的方法)。
THX,
彼得
UPDATE:
小部件的呈现方式:
<?php
class myWidget extends CWidget {
public function init() {
} // end init()
public function run() {
// ...
$this->render('myWidget');
} // end run()
}
这个“窗口小部件的观点”看起来非常可疑。它是如何呈现的? – Jon 2013-03-04 21:53:06
@Jon添加了更多代码,显示了如何呈现小部件。这是你的意思吗?什么是可疑的?注意我在窗口小部件视图中有div和其他内容,输出正常,只是脚本不显示。 – PeterG 2013-03-04 21:57:32
你是如何加载widget的? – Alex 2013-03-05 09:12:58