我正在尝试使用 registerScript() 将一些原始 javascript 输出到我的页面中。以下似乎工作正常(在视图级别,由控制器调用):
模块/myApp/views/readEditor.php:
<?php
$cs = Yii::app()->getClientScript();
$cs->registerScript(
'my-hello-world-1',
'var someCoolVariableInView = 11;',
CClientScript::POS_END
);
?>
这应该在之前出现:
/*<![CDATA[*/
var someCoolVariableInView = 11;
/*]]>*/
但是,当我在小部件的视图中执行等效操作时:
模块/myApp/components/views/myWidget.php:
<?php
$cs = Yii::app()->getClientScript();
$cs->registerScript(
'my-hello-world-2',
'var someCoolVariableInWidget = 10;',
CClientScript::POS_END
);
?>
javascript 不显示。
我做了一堆谷歌搜索,但没有发现任何有用的东西。我的猜测是小部件正在过滤掉 javascript...希望有一个参数或配置开关我可以更改以使其输出(或者也许有更好的方法来做到这一点)。
谢谢,
彼得
更新:
小部件如何呈现:
<?php
class myWidget extends CWidget {
public function init() {
} // end init()
public function run() {
// ...
$this->render('myWidget');
} // end run()
}