嘿,我刚刚创建了一个简单的函数来从模板视图加载JavaScript文件,如下所示:
public function includeJavascript($file){
if(file_exists('path/to/js/' . $file)){
$this->set('script', '<script type="text/javascript" src="/path/to/js/' . $file . '"></script>');
}
}
字符串通过$ script传递并在主布局中打印。这意味着当我渲染页面时,我实际上得到了HTML中的<script type="text/javascript" src="/path/to/js/myjavascript.js'"></script>
,但JavaScript代码不会运行。这是为什么?
真诚地,为什么
答案 0 :(得分:0)
试试这个:
public function includeJavascript($file){
if(file_exists('path/to/js/' . $file)){
$this->set('script', '<script type="text/javascript" src="/path/to/js/' . $file . '"></script>');
}
}
在path/to/js/
函数中file_exists
之前添加撇号。
如果你看一下你在HTML中发布的代码:
<script type="text/javascript" src="/path/to/js/myjavascript.js'"></script>
请注意myjavascript.js
之后的额外撇号?这就是为什么它不起作用。
答案 1 :(得分:0)
暂时将此行添加到myjavascript.js的顶部作为完整性检查..
alert('found myjavascript.js OK!');