我期待將AngularJS Web應用程序集成到多個網站中。我希望能夠提供每個網站管理員用HTML代碼,如下列:動態加載AngularJS應用程序
<div id='angular-integration-app'></div><script src="widget.js"></script>
插入到網頁HTML代碼,網站應該加載AngularJS並插入一個AngularJS應用程序作爲標有「angular-integration-app」ID的元素的子元素。
This Plunker has an implementation,但是這個實現不起作用。它間歇性失敗,並帶有錯誤:
Uncaught ReferenceError: angular is not defined application.js:1
Uncaught Error: [$injector:modulerr] angular.js:38
我注意到,它通常工作正常,它是第一次加載,但在按下瀏覽器的刷新按鈕時,它往往會失敗。當它不通過Plunker託管時尤其如此。
請提供有關創建動態AngularJS應用程序集成的最佳方法,該集成一直可用。
您好,非常感謝您的回覆。您提供的代碼在Plunker中工作,但是當我將每個文件複製到我的機器並使用本地HTTP服務器運行它時,我會得到與以前相同的行爲:當第一次打開瀏覽器選項卡時,將打印「YAHOW」到控制檯和「hello world」出現在頁面上。按下瀏覽器刷新按鈕時,控制檯中會顯示一條錯誤消息,提示「Uncaught ReferenceError:angular is not defined。」我懷疑仍然存在未解決的頁面緩存或同步問題。 – 2015-02-25 15:22:00
哦,這是一個不同的錯誤。你在執行這段代碼之前加載了angular.js文件嗎?例如,你可以在''中加載文件,並在''中加入這個代碼。否則,一個簡單的方法來解決它,如果你正在使用jQuery是使用'$(document).ready(...)'而不是'angular.element(element).ready(...)'。或者,如果您不使用jQuery,只需嘗試'(function(){...})()' –
floribon
2015-02-25 19:06:21