make an angular app with js bookmarklet
我正试图通过点击JS书签使一个AngularJS应用程序走出一个网站。
问题是NG控制器无法通过角度识别并抛出此错误:
1 | Error: Argument 'LDController' is not a function, got undefined |
首先,我定义了ng应用程序,并使用了同名的angular.module,这是可行的,我得到了
我做错了什么?下面是JS bookmarklet代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | function loadApp() { document.getElementsByTagName('html')[0].setAttribute('ng-app', 'bookmarklet'); var div = document.createElement('div'); div.setAttribute('ng-controller', 'LDController'); div.innerHTML = ''; document.body.appendChild(div); var js = document.createElement('script'); js.innerText ="var app = angular.module('bookmarklet', []);"; document.body.appendChild(js); js = document.createElement('script'); js.setAttribute('src', 'http://example.org/js/application.js'); document.body.appendChild(js); } (function () { if (typeof angular === 'undefined') { js = document.createElement('script'); js.setAttribute('src', 'https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/angular.min.js'); js.onload = loadApp; document.body.appendChild(js); } else { loadApp(); } }()); |
我一直在想,您正在通过添加
1 2 3 | angular.element(document).ready(function() { angular.bootstrap(document, ['bookmarklet']); } |
这里有更多信息
多亏了Ram Rajamony,我已经解决了!
以下是作为gist的解决方案:https://gist.github.com/lpsbetty/5636338