簡體   English   中英

無法在文件中包含外部Javascript

[英]Can't Include External Javascript In File

我是PHP的新手,非常適合任何類型的服務器管理。 我正在使用XAMPP 3.1.0 for Windows並使用PHP 5.4版。

我的PHP腳本執行得很好,但無論出於何種原因,我似乎無法包含外部js文件,如下所示:

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

但是,我可以毫無問題地做到這一點。

<script type="text/javascript">
    alert("some alert");
</script>

有誰知道發生了什么?

[ 編輯 :這是我的文件夾結構。 我的文件的路徑是:C:\\ xampp \\ htdocs \\ AllocatedSpendingPlan \\ - 它們都存在於根目錄。]

文件夾結構

這是我的檔案:

[ 編輯 :我使用src屬性從腳本標記的正文中刪除了代碼,但它仍然無效。]

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
        <script type="text/javascript" src="core.js"></script>
        <script type="text/javascript">
            alert("working");
        </script>
    </head>
    <body>
        There is stuff here.
    </body>
</html>

當我查看Firefox中的Net選項卡時,我顯示該文件已被下載,但沒有任何腳本正在執行,並且在我進行調試時未加載文件本身。

這是腳本調試器,顯示沒有加載文件:

Firefox的腳本調試器,不顯示加載的腳本

最后,這是我的Net選項卡,顯示該文件已被下載:

Firefox的網絡選項卡,顯示文件已定位和已下載

[ 編輯 :修正。 我的命名空間聲明中的錯誤。 我將var聲明為函數,它應該是一個對象文字。]

這是正確的代碼。 其他一切都很好。

var Core = {
    namespace: function(ns){
        var parts = ns.split("."),
        object = this,
        i, len;
        for (i=0, len=parts.length; i < len; i++) {
            if (!object[parts[i]]) {
                object[parts[i]] = {};
            }
            object = object[parts[i]];
        }
        return object;
    }
};

Core.namespace("Budgeting.Tools.AllocatedSpending");

Core.Budgeting.Tools.AllocatedSpending = function(){
    return {
        greet: function(){
            alert("hello");
        }
    };
};

var d = new Core.Budgeting.Tools.AllocatedSpending();
d.greet();

看到你的截圖后,

  1. 當您使用src=""屬性時,您應該將<script>標記的主體留空。 所以從那里刪除那個alert("I am here, aren't you!")
  2. 在路徑中找不到您的core.js 讓我們知道文件夾路徑。
  • 檢查控制台是否有錯誤(CTRL + SHIFT + I用於Chrome / Windows)。
  • 這可能是您的core.js文件中的404錯誤或錯誤。 確保路徑正確: <script type="text/javascript" src="/path/to/core.js"></script>

  • 腳本可能包含得太早/太晚。 要對此進行測試,請確保<script>塊位於<head>

這是一個簡單的編碼錯誤。 我將命名空間聲明為函數而不是對象文字。 代碼應該是:

var Core = {
    namespace: function(ns){
        var parts = ns.split("."),
        object = this,
        i, len;
        for (i=0, len=parts.length; i < len; i++) {
            if (!object[parts[i]]) {
                object[parts[i]] = {};
            }
            object = object[parts[i]];
        }
        return object;
    }
};

代替:

var Core = function () {
    namespace: function(ns){
        var parts = ns.split("."),
        object = this,
        i, len;
        for (i=0, len=parts.length; i < len; i++) {
            if (!object[parts[i]]) {
                object[parts[i]] = {};
            }
            object = object[parts[i]];
        }
        return object;
    }
};

談論沒有看到森林的樹木......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM