JS ブックマークレットをクリックして、サイトから angularjs アプリを作成しようとしています。
問題は、ng-controller が angular によって認識されず、次のエラーがスローされることです。
エラー: 引数 'LDController' は関数ではありません。未定義です
最初に ng-app を定義し、angular.module を同じ名前で使用します。これは機能し<html ng-app="bookmarklet">
ます。次に、application.js という名前の外部ファイルを読み込みます。app.controller('LDController', ..)
はこのファイルで定義されています!
私は何を間違っていますか?js ブックマークレット コードは次のとおりです。
関数 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('スクリプト'); js.setAttribute('src', 'http://example.org/js/application.js'); document.body.appendChild(js); } (関数 () { if (typeof angular === '未定義') { js = document.createElement('スクリプト'); js.setAttribute('src', 'https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/angular.min.js'); js.onload = loadApp; document.body.appendChild(js); } そうしないと { loadApp(); } }());