簡體   English   中英

如何在Sharepoint中調試JavaScript?

[英]How do I debug JavaScript in Sharepoint?

我剛剛開始在新的地方工作,擔任軟件開發人員,他們讓我進入了一個需要改進的項目,這是使我入門的一種方法。

這是一個SharePoint 2010項目,由C#和ASP組成。 我在開發共享點方面幾乎沒有經驗,因此,如果可能,我想尋求一些幫助。 基本上,他們的頁面上有很多活動,每個活動都應該試圖節省公司資金。

現在,當您按下“編輯項目”時,JavaScript將執行並設置呈現給您的某些表的樣式。 由於該項目是匆忙完成的,因此沒有文檔,也沒有硬編碼的值。 我首先要嘗試的是更改顯示的年份數字,因為這些數字是經過硬編碼的。因此,我要這樣做:

var quarters = {
    "Q3": {
        title: "Q3",
        name: "Q3 (MAR-MAY)"
    },
    "Q4": {
        title: "Q4",
        name: "Q4 (JUN-AUG)"
    },
    "2015-16": {
        title: "2015-16",
        name: "Budget year 2015/2016"
    },
    "2016-17": {
        title: "2016-17",
        name: "Budget year 2016/2017"
    }
};

對此:

function getCurrentYear() {
    var year = new Date().getFullYear();
    return year;
}

var quarters = {
    "Q3": {
        title: "Q3",
        name: "Q3 (MAR-MAY)"
    },
    "Q4": {
        title: "Q4",
        name: "Q4 (JUN-AUG)"
    },
    "CurrentYear-NextYear": {
        title: getCurrentYear + "-" + (getCurrentYear()+1).toString().substr(2,2),
        name: "Budget year" + getCurrentYear() + "/" + getCurrentYear()+1
    },
    "NextYear-YearAfterNextYear": {
        title: (getCurrentYear() + 1) + "-" + (getCurrentYear() + 2).toString().substr(2, 2),
        name: "Budget year " + (getCurrentYear() + 1) + "-" + (getCurrentYear() + 2)
    }
};

但是,當我部署共享點站點並使用“編輯項目”部分時,JaveScript應該不會發生任何事情。 我嘗試調試,但是調試器實際上從未輸入我嘗試使用的功能,這使我相信該網站最初從未使用JavaScript。

我的問題是:我將在哪里檢查腳本的可能用途?

我在整個解決方案中進行了搜索,沒有找到JavaScript文件,但是在生產環境中它工作正常,並且修訂歷史記錄沒有發現任何會破壞JavaScript使用的情況。

整個解決方案中沒有引用JavaScript文件

既然您提到這是匆忙完成的,也許在頁面部署后在aspx中添加了腳本引用? (這是一種極其骯臟的處理方式,但不是我在共享環境中看到的最糟糕的方式)

要檢查以下內容:在服務器上,在部署位置查找aspx(通常為: C:\\Program Files\\Common Files\\microsoft shared\\Web Server Extensions\\14\\TEMPLATE\\LAYOUTS\\<ProjectName>\\ ),然后查看如果腳本文件在該應用程序頁面中被引用。

也可能是頁面上的另一個腳本文件已在正在配置目標腳本文件的配置單元中進行了修改:我會檢查配置單元中的腳本文件是否有SP.SOD.executeexecuteFuncEnsureScriptFunc類的SP.SOD.execute ,或者只是SP.SOD (除了明顯尋找文件名之外)

還:腳本可以通過其他解決方案(如果有)作為代理控件添加,因此檢查是否可以獲取源代碼可能是另一回事。

要調試JavaScript,請按F12鍵調出瀏覽器的開發人員工具,包括JavaScript控制台。 然后,通常必須刷新頁面才能使代碼再次運行。

您將只能看到由實際執行的代碼生成的錯誤,因此,如果您沒有看到任何錯誤,則您的代碼可能無法運行。

您還可以使用JavaScript控制台手動鍵入部分或全部代碼,以查看哪些有效和哪些無效。

我在一條評論中指出,在對getCurrentYear一個調用之后,似乎缺少一組括號,但是如果沒有完整的代碼,我無法保證這是唯一的問題。

暫無
暫無

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

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