5
コンテンツスクリプトベースのchrome拡張でangularjsテンプレートを使用しているときに奇妙な問題が発生しています。私は無限ループに入ります。インラインテンプレート(テンプレート属性を文字列で使用)を使用すると、うまく動作します。誰でも私が間違っていることを示唆することはできますか?angularjs chrome extensionのテンプレート
{
"name": "Content Script Cross-Domain XMLHttpRequest Example",
"version": "2.0.0",
"manifest_version": 2,
"description": "Demonstrates making cross domain requests from a content script by putting Twitter trends on Google News.",
"permissions": [
"http://localhost:9393/*"
],
"icons": {
"48" : "sample-48.png",
"128" : "sample-128.png"
},
"content_scripts": [
{
"matches": ["http://news.google.com/*","*://mail.google.com/*"],
"js" : ["lib/jquery-1.6.4.min.js","lib/angular-1.0.1.min.js", "app.js","contentscript.js"]
}
]
}
app.js
angular.module('myApp', []).
config(['$routeProvider', function($routeProvider) {
console.log('inside angular.module');
$routeProvider.
when('/', {templateUrl: 'contact.html', controller: AppController}).
otherwise({redirectTo: '/'});
}]);
function AppController($scope){
console.log('inside AppController');
}
manifest.jsonを内部Iがapp.jsにインラインtempateを使用する場合、それは正常に動作します
$(this).append('<div id="gmeAppContainer">'
+ '<div ng-view></div>'
+ '</div>');
var rootEle = $(this).find('#gmeAppContainer');
angular.bootstrap(rootEle,['myApp']);
をcontentscript.js。
when('/', {template: '<div>This is inline template </div>', controller: AppController}).
も、私はそれを考え出したように見えますangularjs Googleのグループに https://groups.google.com/d/topic/angular/A_SVYZWPKe8/discussion
テンプレートファイルへの絶対URLを取得するにはchrome.extension.getURLメソッドを使用するには – apueee
を働いていないchrome.extension.getURL
私はその角度エラーメッセージが表示されましたURLは信頼できないので、$ sce.trustAsResourceUrlを追加しました: '' ' $ sce.trustAsResourceUrl(chrome.extension.getURL( 'html/drive-properties.html')) ' '' – Paul