PHP渲染JS没用

时间:2011-03-15 19:05:56

标签: php javascript

好的,所以,我并不熟悉PHP dev,但是,我发现自己。我有一个我在HTML / CSS和JS中创建的页面,它与几个JS插件配合得很好。然而,当我把它变成一个php页面时,JS是冲突的,并且变得毫无用处。

这是因为PHP将它聚合成一个大的js文件。当我在调试中运行它并单独加载所有文件时,一切都很好。有没有人打过这个?

以下是我加载它们的方法:

register_script( array(

    'base_path' =>  PROJECTURL,
    'scripts'    => array(
        'js/libs/jquery-1.5.min.js',
        'js/libs/jquery.jscrollpane.js',
        'js/libs/jquery.selectbox-0.6.1.js',
        'js/libs/jquery.mousewheel.js',
            'js/libs/jquery.autocomplete.min.js',
        'js/libs/jquery.watermark.js', 
                'js/propriatary-name.js',

    )

) ); 

1 个答案:

答案 0 :(得分:2)

我认为你的register_script函数没有达到预期的效果。这不是标准的PHP函数,因此除非您使用框架,否则需要更改一些内容。

您的PHP在服务器端执行,而您的.js文件包含在客户端的DOM中。如果您以编程方式执行此操作,只需将脚本添加到数组中,然后使用foreach循环将脚本添加到HTML输出中:

$pagescripts = array(
        'js/libs/jquery-1.5.min.js',
        'js/libs/jquery.jscrollpane.js',
        'js/libs/jquery.selectbox-0.6.1.js',
        'js/libs/jquery.mousewheel.js',
        'js/libs/jquery.autocomplete.min.js',
        'js/libs/jquery.watermark.js', 
        'js/propriatary-name.js');

foreach($pagescripts[$page] as $v){
    $output .= "<script type=\"text/javascript\" src=\"" . $v . "\"></script>\n";
}