在 CodeIgniter 中包含 Javascript 文件

Including Javascript file in CodeIgniter

我已经阅读了所有主题 "Including Javascript files in CodeIgniter",但这些对我不起作用! 我将我的问题简化为以下代码。

我使用 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 

当我点击 "Click on me to see alert message" 时没有任何反应(在 IE 中我有一条 "Error on page" 消息)。我试图在 src 属性中添加所有类型的值,例如 mnd3v/mnd3js.jslocalhost/application/views/mnd3v/mnd3js.js 但没有任何反应。

我想查看警报消息。有人可以帮助我吗?

我这样做 <script src="<?php echo base_url() ?>js/jquery.js"></script> 我的 public 路径中存在 js 源

使用 WAMP、CodeIgniter、JavaScript,如果您需要在具有 src 属性的视图文件中包含 JavaScript 文件,则必须将 js 文件放在应用程序文件夹之外。如果 src 地址指向 codeigniter 应用程序文件夹的子文件夹,CodeIgniter 不知道如何解释该地址。为什么,我也不知道。

您不需要将 javascript 文件包含到 views 文件夹中。事实上,我想说这实际上是一个坏主意,因为 Codeigniter 中的视图文件夹旨在保存 php 文件,这些文件有点像模板。

而是考虑将 javascript 或其他可加载媒体放在 Codeigniter 之外的它们自己的文件夹中。只需在根目录下创建一个名为 js 的文件夹(它可能与 application 文件夹处于同一级别)。然后使用相对 links

引用文件

<script type="text/javascript" src="/js/mnd3js.js" ></script>

或使用绝对 link

<script src="<?php echo base_url() ?>js/jquery.js"></script>

我个人更喜欢 link 亲戚,但最终取决于您的应用。