2011-08-30 145 views
7

我目前正在將自己託管的網站移動到CMS系統上。目前網站使用名爲SqueezeBox.js 我已經通過它究竟是如何看目前的網站上覆制的代碼模式彈出腳本,但是當我點擊縮略圖上的模式彈出框未觸發。如何識別我的網站上是否存在JavaScript衝突?

看着頭中的代碼中,我發現我使用的CMS還呼籲其他一些JavaScript文件,我想知道,如果他們中的一個導致衝突。

什麼是找出如果是這種情況的最好方法是什麼?我試過Firefox的插件Web Developer,但在錯誤控制檯中看不到任何東西。但是,我不是100%確定我正確使用它。任何人都可以指向一個簡單的使用JavaScript衝突檢測器的方向嗎?

乾杯

亞當

+2

我建議使用Firebug的插件(火狐)或Chrome的開發工具。這些工具可讓您輕鬆調試您的JavaScript。 – rubiii

+0

只是一個小小的挑逗......它是'模態'而不是'模型';) – Damon

回答

3

如果您有谷歌瀏覽器,打開了開發工具,你可以進入「腳本」選項卡,打開你的JavaScript文件,並查找單擊處理程序。點擊沿代碼的一側設置斷點,然後當代碼到達該點(例如,如果單擊它),它將暫停,然後在開發工具中,您可以看到在步驟中正在調用哪些函數通過代碼。您也可以將鼠標懸停在代碼窗口中的任何變量上以查看其值。非常便利!然後你就可以看到它是否進入你的插件(你也可以通過在插件內部的某個位置設置一個斷點,比如第一行,當它運行時總會被訪問)。

我相信你可以do the same thing with Firebug

這是一個有點不同的思維過程,涉足(步入,步過,上下車等轉向斷點),但它是非常有用的。

更簡單的檢查,其中問題存在的方式是通過添加警報('聊天工作);或類似的代碼,你不知道它是否工作。您還可以提醒變量以查看該點的值。您也可以使用console命令將其打印到螢火蟲的控制檯。除了調試你不需要改變你的代碼之外,它們正在爲斷點/調試做些事情。

+0

感謝您的幫助。當談到JavaScript時,我已經聽取了您的建議,但仍然不知道我在用這些工具做些什麼。想想我需要一個非專業的工具。 – bbacarat

+0

你看過我關聯的截屏嗎?我知道進入這個計劃有點棘手,但它會在長期運行中獲得回報。我還爲我的答案增加了另一個可能的解決方案。 – Damon

+0

chrome開發人員工具中的腳本選項卡在哪裏? –

1

如果存在javascript錯誤,那麼easies方式使用firebug或Chrome Inspector(右鍵單擊縮略圖並選擇「檢查元素」)。打開任一個的控制檯選項卡並刷新頁面。如果出現錯誤,將在控制檯中報告並提供指向相關行的鏈接。

如果被報告沒有錯誤,那麼代碼的邏輯是防止所顯示的對話框。您需要逐步完成代碼以查找錯誤。看看縮略圖圖像的點擊處理程序正在調用哪個函數。在任一工具中轉到該函數,並在函數的第一行放置一個斷點。再次單擊縮略圖,代碼將在該行上暫停。從那裏你可以遍歷代碼並查看哪個代碼分支被跟蹤。在某些情況下,可能會進行完整性檢查,導致代碼無法正常運行。

+0

嗨,這是一個點擊事件是否有這個問題? – bbacarat

+0

感謝您的幫助。按照Damon的建議,我已經向您提供了建議,但仍然不太瞭解我在使用這些工具時所做的工作。想想我需要一個非專業的工具。 – bbacarat

+0

onclick事件將更難以調試。我不認爲斷點可以直接放在HTML中。我的建議是在onclick事件中調用一個函數,並將所有代碼放入該函數中。這將允許您在函數的第一行放置一個斷點,以逐步執行點擊處理程序。 不幸的是,這些實際上是用於調試javascript的最友好的工具。起初他們可能有點壓倒性的,但是在他們掌握之後,他們很容易處理,尤其是Chrome Inspector。祝你好運! –