base_url在外部js和css文件中不起作用

时间:2013-08-20 00:37:14

标签: php javascript css codeigniter

我试图在外部base_url()文件中调用“.js”。 我的“test.js”文件路径为“js/test.js”。

我的test.js代码为:

    function download(s){
        var w=window.open('<?php base_url(); ?>home/download?f='+s+'.ogg','Download','height=100,width=100');
    }

我链接了该文件(我的js文件在尝试简单的JavaScript代码时工作正常):

<script src="<?php echo base_url(); ?>js/test.js" type="text/javascript"></script>

但是这总是说访问被拒绝并要求服务器权限。

我也尝试了'site_url()',即使我在“hello”函数中尝试了一个回音“download”,但这些都没有用。但是当我在header.php视图文件中添加该代码时,如:

<script type="text/javascript">
    function download(s){
        var w=window.open('<?php base_url(); ?>home/download?f='+s+'.ogg','Download','height=100,width=100');
    }
</script>

那就行了。

我写的时候是外部CSS:

background:url('<?php base_url(); ?>images/side.png');

这不起作用。但如果我写:

background:url('../images/side.png');

然后就行了。

那么如何在外部base_url()文件和.js文件中调用“.css”?

2 个答案:

答案 0 :(得分:2)

您无法在javascript / css文件中调用base_url()。

您需要在这些js / css文件中放置相对路径。 PHP脚本不会运行,除非它们位于.php文件中。

答案 1 :(得分:0)

使用此解决方案请记住,您必须将Script标记放在外部js脚本之前。

<script type="text/javascript">
  var baseURL = "<?php echo base_url(); ?>";
</script>

现在在外部js中使用baseURL变量。