2014-09-02 61 views
1

我們有我們的生產日誌文件奇怪的,零星的JavaScript錯誤消息(記錄在後臺JavaScript錯誤):

未捕獲的錯誤:[$編譯:tpload ] http://errors.angularjs.org/1.2.16/ $ compile/tpload?p0 = modules%2Fsome%2valid-directive-path.tpl.html

錯誤只出現在指令中。我無法在本地重現錯誤。指令的templateUrl全部有效。

我想到的唯一可能的情況是如果用戶在頁面加載時按下瀏覽器中的取消/停止按鈕(然後我能夠重現錯誤)。

有沒有人有另一種想法或解釋?甚至:-)

乾杯解決 邁克爾

+0

你有沒有得到解決這個問題。儘管我從未複製過,但我在生產日誌中看到了很多這個問題。升級到1.3版似乎已經讓它變得更糟。 – 2014-12-10 19:50:54

+0

嗨朱利安!我只是在下面回答了我自己的問題;-) – 2014-12-11 06:59:40

+0

我發現在模板html文件中放置HTML註釋會引發此錯誤 – 2016-02-02 10:20:29

回答

1

我們解決這樣的問題:

由於我們使用的是咕嚕ngTemplate插件(https://www.npmjs.com/package/grunt-angular-templates)我們沒有緩存我們的HTML模板與$ templateCache有上述問題了。

+0

謝謝。看起來像一個有趣的選擇。不知道它會對我們有用,儘管我們的許多模板都是剃鬚刀部分,並且需要在運行時渲染到服務器端。我想我會嘗試內聯我所能做到的。 – 2014-12-12 08:46:33

1

出於興趣,我能夠重新創建此問題。通過將角度添加到角度,我確定當模板加載失敗時,它的狀態爲0,這使我認爲請求實際上已被取消。這個理論得到了我們沒有發現服務器端錯誤的事實的支持。

如果我模擬的設備不支持HTML5路由,然後在路由的末尾添加一個任意的查詢字符串,它會導致無限的摘要循環,最後整個頁面會重新加載幾次。這反過來導致未完成的模板請求被取消,導致我在日誌中看到的錯誤。

所以,至少對我來說,這實在是無關的模板加載,它只是一個角度錯誤(這有望將被固定在角1.3.8)

+0

這個鏈接解釋了我看到的這個問題的一些發生:https://github.com/angular/angular.js/issues/14219但是,我添加了一個客戶端檢查來放棄這些錯誤,而不是記錄它們當頁面被卸載時(因此XHR請求被取消)。儘管如此,我仍然看到很多錯誤,所以還有其他一些問題仍在發揮。開車給我香蕉。 (目前在1.5.11角上)。 – 2017-07-19 22:37:52