1

共通のhead.phpファイルを必要とするindex.phpファイルがあります.head.phpファイルにはいくつかのJavascriptファイルがあります.そのようにしようとすると、コードはソースでうまく見えますが、ファイルは実際には何もしませんドキュメントに。(ただし、.css ファイルは問題なく動作します)

Javascript ファイルが (head.php が必要な場所と同じ head 領域にある) index.php に直接配置されている場合、ソースがまったく同じコードを示していても、正常に動作します。

これを適切に機能させるためのトリックはありますか、それとも Web サイトのすべてのページに Javascript を手動で配置する必要がありますか? (たくさんありますが、ファイルを更新したり、スクリプトを追加したい場合に備えて、単一の head.php を使用できるようにしたいと考えています)

どんな助けでも大歓迎です!

以下は、参照用のさまざまなページのコードです。


head.php

<link rel="stylesheet" type="text/css" href="style/main.css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript" src="include/alajax.js"></script>
<script type="text/javascript" src="include/jtip.js"></script>
<script type="text/javascript" src="include/jquery.timeago.js"></script>

index.php

<head>
<?php require_once 'site/head.php'; ?>
</head>

index.php (ブラウザに表示されるソースコード)

<head>
<!--require_once 'site/head.php';-->
<link rel="stylesheet" type="text/css" href="includes/fancy/fancy.css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript" src="include/alajax.js"></script>
<script type="text/javascript" src="include/jtip.js"></script>
<script type="text/javascript" src="include/jquery.timeago.js"></script>
<!-- end of head.php -->
</head>
<body>
<!-- Site that uses jquery and other functions in the included javascript that do not work with the files when included through a .php, though works fine if directly on the same page as the functions -->

編集: (これは、header.php と login.php を使用した、より肉付けされた index.php です)

index.php

<head>
    <?php require_once 'site/head.php'; ?>
</head>
<body>
    <div id="header">
        <?php require 'site/header.php'; ?>    
    </div>
    <div id="wrapper">
        <div id="navbar">
            <?php require 'site/navbar.php'; ?>    
        </div>
        <div id="content">
            <!-- Just basic php and html here, and some times that rely on jquery.timeago.js to calculate time, works fine when everything is loaded in head.php -->
        </div>
    </div>
</body>

header.php (head.php と混同しないでください)

<div id="loginheader">
    <img src="img/logo.png" width="200" height="100" alt="Logo" />
    <?php
        require 'login.php';
    ?>
</div>

login.php

<!--- Contains javascript that requires jquery (included in head.php) and alajax (also included in head.php) if jquery is loaded in here and not in head, the form works, but the times in index.php break. -->
4

1 に答える 1

0

こんにちは皆さん、ついに答えを見つけました.jsファイルがロードされない理由は、私たちが含めたjsファイルの1つに問題があるためです. そのため、すべての js ファイルを 1 つずつチェックして、破損したファイルを特定してください。

私の場合の説明。

html_header.php というファイル内にすべての css および js ファイルを含めました。

<script type="text/javascript" src="../js/jquery-1.7.2.min.js"> </script>
<script type="text/javascript" src="../js/excanvas.js"> </script>
<script type="text/javascript" src="../js/jquery.flot.js"> </script>
<script type="text/javascript" src="../js/jquery.flot.stack.js"> </script>
<script type="text/javascript" src="../js/jquery.flot.pie.js"> </script>
<script type="text/javascript" src="../js/jquery.quicksand.js"> </script>
<script type="text/javascript" src="../js/jquery.easing.1.3.js"> </script>
<script type="text/javascript" src="../js/jquery.tipsy.js"> </script>
<script type="text/javascript" src="../js/cl_editor/jquery.cleditor.min.js"> </script>
<script type="text/javascript" src="../uploadify/swfobject.js"></script>
<script type="text/javascript" src="../uploadify/jquery.uploadify.v2.1.4.min.js"></script>
<script type="text/javascript" src="../js/jquery.autogrowtextarea.js"></script>
<script type="text/javascript" src="../js/form_elements.js"></script>
<script type="text/javascript" src="../js/jquery.ui.core.js"></script>
<script type="text/javascript" src="../js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="../js/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="../js/jquery.ui.slider.js"></script>
<script type="text/javascript" src="../js/jquery.ui.progressbar.js"></script>
<script type="text/javascript" src="../js/jquery.ui.datepicker.js"></script>
<script type="text/javascript" src="../js/jquery.ui.tabs.js"></script>
<script type="text/javascript" src="../js/jquery.ui.autocomplete.js"></script>
<script type="text/javascript" src="../js/jquery.ui.position.min.js"></script>
<script type="text/javascript" src="../js/fullcalendar.js"></script>
<script type="text/javascript" src="../js/gcal.js"></script>
<script type="text/javascript" src="../js/bootstrap-modal.js"></script>
<script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript" src="../js/fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
<script type="text/javascript" src="../js/highlight.js"></script>
<script type="text/javascript" src="../js/jq_tables/jquery.dataTables.js"></script>
<!--<script type="text/javascript" src="../js/main.js"> </script>-->
<script type="text/javascript" src="../js/jquery.validate.min.js"></script>
<script type="text/javascript" src="../js/jquery.printElement.min.js"></script>
<script type="text/javascript" src="../js/addmethod.js"></script>

main.js にコメントすると、問題は解決しました。main.js ファイルの新しいコピーをアップロードした後。

ありがとうございました

于 2015-04-29T06:18:25.050 に答える