4

codeignitorで外部Javascriptファイルをロードするために、私は使用しています

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

私はページのソースで次のように見ることができます

<script src="http://localhost/cinifb_ci/application/js/contentslider.js" type="text/javascript"></script>

これは、ファイルが私のCSSファイルと完全に同じようにロードされていることを私が知っていることを意味します。

<link rel="stylesheet" href="<?php echo base_url(); ?>application/css/default.css" type="text/css" />

ページのソースコードでは、次のように表示されます

<link rel="stylesheet" href="http://localhost/cinifb_ci/application/css/default.css" type="text/css" />

これは、そのロードさえも完全に意味します。(ソースの外部js / cssリンクをクリックすると表示され403 Forbiddenます)。ただし、どちらの効果もページには適用されません。エラーは表示されません。コントローラーにURLヘルパーをロードしました $this->load->helper('url');

$autoload['helper'] = array('url');autoload.phpに配置されます

どこが間違っていたのか説明していただけませんか。

外部JSをロードするには、jquery-codeigniterライブラリをインストールする必要があることを学びました。それらをダウンロードして、それぞれのファイルをアプリケーションフォルダーのそれぞれの同様のフォルダーに含めました。

$this->load->library('jquery');これで、コントローラーに含めようとすると、その表示が表示されます

An Error Was Encountered

Unable to load the requested class: jquery

したがって、JS / CSSファイルの正確な場所を指していることがわかるのに403Forbiddenが表示される理由を理解するのを手伝ってください。次に、jquery-codeigniterライブラリのインストールが間違っている場合はガイドしてください。
注:http ://ellislab.com/codeigniter/user-guide/libraries/javascript.htmlは役に立ちませんでした

編集:
jquery-私が配置したcodeigniterライブラリsystem/libraries/javascript/

システムの.htaccessファイルで、私は次のように書いています

RewriteEngine on
RewriteRule ^$ /index.php [L]
RewriteCond $1 !^(index\.php|images|css|js|video_files|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /cinifb_ci/index.php/$1 [L]

私が書いているビューでは

$this->load->helper('url');
<script src="<?php echo base_url("application/js/jquery-1.8.2.js"); ?>" type="text/javascript"></script>

コントローラーで

$this->load->helper('url');
$this->load->library('javascript');
$this->load->library('javascript/jquery');
$this->load->library('Jquery_ext');

もう一度、ソースを見て正しいソースを指しているのに、外部のjsファイルのリンクをクリックすると、403 Forbiddenエラーが表示されます。
長い投稿でごめんなさい:(
提案をお願いします..!

4

3 に答える 3

1

最良の方法は、フォルダアセットを作成することです。次に、css、images、jsなどを配置する必要があります。

このフォルダーにjs/contentslider.jsを保存し、最後にヘッダータイプに保存します。

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

config.phpでbase_url()を設定する必要があることを忘れないでください。

ありがとう

于 2013-03-22T12:35:30.757 に答える
1

403の隠しエラーは、Webサーバーがその特定のリソースへのリクエストを拒否していることを意味します。

提供された.htaccessファイルを使用してきれいなURLを取得していると仮定します。

その行で

RewriteCond $1 !^(index\.php|images|robots\.txt)

読んでください

RewriteCond $1 !^(index\.php|images|robots\.txt|application/js|application/css)

実際には、上記は間違っている可能性がありますが、cssフォルダーとjsフォルダーをRewriteCond例外リストに追加する必要があるという考えがあります。

于 2013-03-22T12:14:37.107 に答える
0

jsファイルがアプリケーションフォルダー内にある場合は、フォルダーを.htaccessに含める必要があり.htaccessます。それをコピーしてアプリケーションフォルダーの外に貼り付けます。つまり、ルートを開いて、私が言及した過去のコードを開きsample、Webサイトで3行目の名前を変更するだけです。名前またはメイン フォルダ

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* index.php/$0 [PT,L]

アップデート

于 2013-03-22T13:09:13.647 に答える