我已阅读所有主题"在CodeIgniter中包含Javascript文件"但这些不适合我! 我将我的问题减少到以下代码。
我使用WAMP并在c:\wamp\www\codeigniter
文件夹中复制了Codeigniter。
在c:\wamp\www\codeigniter\application\controlers\
我有一个文件mnd3c_test.php
,其中包含:
<?php
class mnd3c_test extends CI_Controller {
public function __construct()
{parent::__construct();}
public function test()
{$this->load->view('mnd3v/mnd3v_test.php'); }
}
在c:\wamp\www\codeigniter\application\view\mnd3v\
我有一个文件mnd3v_test.php
,其中包含:
<html>
<head>
<script type="text/javascript" src="mnd3js.js" ></script>
</head>
<body>
<h3 onclick="fsort()">Click on me to see alert message</h3>
</body>
</html>
在c:\wamp\www\codeigniter\application\view\mnd3v\
我还有一个文件mnd3js.js
,其中包含:
function fsort()
{ alert ("fsort"); }
我已在config.php中设置:
$config['base_url'] = 'http://localhost/codeigniter/';
我使用以下网址在Internet Explorer或Google Chrome中加载我的页面:
http://localhost/codeigniter/index.php/mnd3c_test/test
当我点击&#34;点击我查看提醒信息&#34;没有任何反应(在IE浏览器中我有一个&#34;页面错误&#34;消息)。我试图在src中添加所有类型的值,例如mnd3v/mnd3js.js
或localhost/application/views/mnd3v/mnd3js.js
,但没有任何事情发生。
我想看一下警告信息。有人能帮助我吗?
答案 0 :(得分:2)
您无需将javascript文件包含在views文件夹中。事实上我会说这实际上是一个坏主意,因为Codeigniter中的视图文件夹意味着保存有点像模板的php文件。
相反,请考虑将javascript或其他可加载媒体放在Codeigniter之外的自己的文件夹中。只需从根目录创建一个名为js
的文件夹(它可能与application
文件夹的级别相同)。然后只使用相对链接引用文件
<script type="text/javascript" src="/js/mnd3js.js" ></script>
或使用绝对链接
<script src="<?php echo base_url() ?>js/jquery.js"></script>
我自己更喜欢相对链接,但最终取决于你的应用程序。
答案 1 :(得分:0)
我这样做<script src="<?php echo base_url() ?>js/jquery.js"></script>
我的公共路径中存在js源
答案 2 :(得分:-1)
使用WAMP,CodeIgniter,JavaScript,如果需要在具有src属性的视图文件中包含JavaScript文件,则必须将js文件放在应用程序文件夹之外。如果src地址指向codeigniter应用程序文件夹的子文件夹,则CodeIgniter不知道解释此地址。为什么,我不知道。