当include标记被回显到<;头部>;-PHP、JS、HTML


Javascript wont run when include tags are echoed to <head> - PHP, JS, HTML

嘿,我刚刚做了一个简单的函数来从模板视图加载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代码不会运行。为什么会这样?

真诚,为什么

暂时将此行添加到myjavascript.js的顶部,作为健全性检查。。

alert('found myjavascript.js OK!');

试试这个:

public function includeJavascript($file){   
        if(file_exists('path/to/js/' . $file)){
            $this->set('script', '<script type="text/javascript" src="/path/to/js/' . $file . '"></script>');
        }
    }

file_exists函数中的path/to/js/之前添加了一个撇号。

如果你看看你在HTML:中发布的代码

<script type="text/javascript" src="/path/to/js/myjavascript.js'"></script>

注意myjavascript.js后面的额外撇号吗?这就是为什么它不起作用。