[英]Debugging JavaScript in IE7
我需要在Internet Explorer 7中調試JavaScript。
不幸的是,它的默認調試器並沒有為我提供太多信息。 它告訴我錯誤出現的頁面(不是特定的腳本)並給我一個行號。 我不知道這是否與我的問題有關。
如果它可以將錯誤縮小到特定腳本上的行號(如Firebug可以),那就太好了。
是否有一個插件可以在IE7中調試JavaScript,就像Firebug在Firefox中一樣?
謝謝!
事實是:IE唯一優秀的調試器是Visual Studio。
如果您沒有真正的交易資金,請下載免費的Visual Web Developer 2008 Express Edition Visual Web Developer 2010 Express Edition 。 雖然前者允許您將調試器附加到已經運行的IE,但后者卻沒有(至少我以前使用過的版本不允許)。 如果仍然如此,訣竅是用一個空的網頁創建一個簡單的項目,“運行”它(它啟動瀏覽器),現在導航到你想要調試的任何頁面,並開始調試。
微軟在不同的事件中提供完整的Visual Studio,通常有許可限制,但它們允許在家里修修補補。 檢查他們的日程安排和免費贈品清單。
另一個提示:首先嘗試使用其他瀏覽器調試您的Web應用程序。 我在Opera上取得了巨大的成功。 不知何故,Opera對IE及其漏洞的仿真非常接近,但調試器要好得多。
你可能想嘗試使用微軟腳本調試器它已經很老了但是它在某種意義上非常有用,如果你偶然發現任何javascript錯誤,調試器會彈出顯示哪條線路搞亂了。 當你進行正常的沖浪時,它可能會變得有效,但你可以在關閉時轉動。
這里也是一個關於如何使用這個工具的好創業公司。 HOW-TO:在Internet Explorer中調試JavaScript
我找到了DebugBar 。
不如Firebug,但接近。
在IE7中,您可以通過在地址欄中粘貼以下內容來為當前頁面調出firebug lite:
javascript:var firebug=document.createElement('script');firebug.setAttribute('src','http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js');document.body.appendChild(firebug);(function(){if(window.firebug.version){firebug.init();}else{setTimeout(arguments.callee);}})();void(firebug);
Microsoft腳本編輯器確實是一個選項,而且我已經嘗試過其中一個更穩定的選項 - IE8中的調試器很棒但是出於某種原因,每當我啟動開發人員工具時,IE8需要一段時間,有時甚至是分鍾,檢查我的頁面的DOM樹。 然后它似乎想要在每一頁刷新這是一種折磨。
您可以在Microsoft腳本編輯器中檢查變量的內容:如果您在Debug> Window下查看,您可以打開本地變量檢查,觀察等。
另一個選擇,Visual Web Dev雖然體積龐大,但效果相當不錯。 要進行設置,請執行此操作(從此處竊取):
更新 :順便說一句,如果你遇到與IE8相同的調試器相同的減速,有一個解決方法 - 如果你遇到或讓IE遇到錯誤,以便它彈出“你想調試”對話和點擊是,調試器會立即出現。 看起來如果你“直接”進入調試模式,Dev Tools從不檢查DOM。 只有當你擊中F12時才會這樣。
IE8有很多改進的開發人員工具。 在此之前,最好首先為firefox編寫javascript,然后使用alert()語句調試IE。
Microsoft腳本編輯器可用於在IE中調試Javascript。 它比Microsoft Script Debugger的bug少,但具有相同的基本功能,遺憾的是,它幾乎僅限於逐步執行。 我似乎無法檢查變量或任何像這樣的方便的東西。 此外,它僅出於某些奇怪的原因與Office XP / 2003一起提供。 如果您是游戲,請在此處獲取更多信息。
我下載了Eugene Lazutkin提到的Visual Web Developer 2008 Express Edition,但還沒有機會嘗試它。 我建議在腳本編輯器/調試器之前嘗試。
它不是一個完整的調試器,但我的DP_DEBUG擴展提供了一些(我認為)usful功能,它們可以在IE,Firefox和Opera(9+)中運行。
您可以“轉儲”復雜JavaScript對象(甚至是系統對象)的可視化表示,簡化日志記錄和計時。 該組件提供了啟用或禁用它的簡單方法,以便您可以根據需要將調試器留在生產工作位置。
IE9開發人員工具對我有用。 只需將“瀏覽器模式”菜單項設置為IE7即可。
嘿,我遇到了同樣的問題,發現這個應用程序IETESTER 。 它非常棒,它是一個包含IE 5.5,6和7的應用程序。 你現在擁有的IE版本並不重要。 這允許您並排使用多個版本。
如果您在IE選項中啟用了javascript調試並安裝了Visual Studio,您甚至可以調試VS中的javascript,並提供所有可用的調試選項(手表,條件斷點等)。
如果要在發生錯誤之前開始調試,則只需放置該行即可
debugger;
進入你的JS代碼,這會帶你進入VS,在這個語句之后開始調試。
對於測試JS代碼的向后兼容性,這對我來說絕對令人驚訝。
答案很簡單。
通過Javascript靜態分析工具(如JSLint)運行代碼可以捕獲一些常見的IE7錯誤,例如對象定義中的尾隨逗號。
使用Internet Explorer 8.然后嘗試使用開發人員工具。您也可以在兼容模式下基於IE 7進行調試
IE8開發人員工具可以切換到IE7模式
如果你仍然需要調試IE 7,IE 11的仿真模式工作得很好。
轉到菜單:開發工具,然后進行模擬並進行設置。 它還提供錯誤行信息。
FireBug Lite: http : //getfirebug.com/firebuglite
以下工具對我很有用:
為源,樣式,DOM,腳本,HTML檢查等功能提供方便的UI。 它還會顯示JS文件中的實際錯誤(哪一行,哪個文件)。
2) http://www.my-debugbar.com/wiki/CompanionJS/Installing
為IE6或IE7提供控制台(最初不支持)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.