javascript - Is it possible to called angular service in separate js file in chrome extension? -
i create simple chrome extension, can save sentence on database. application written in angular4 using firebase authentication. api set on nodejs server.
on home page, user has ability login google or facebook account. if user logged in, page saved sentences displayed him. on page can add sentence manually (by form).
user can save sentence page using contextmenu. @ moment, if user mark , try sentence, showing alert. it's implemented in way:
part of manifest.json
... "background": { "persistent": true, "scripts": ["home.js", "context-menu.js"] }, ... "permissions": [ "tabs", "contextmenus" ], ...
and context-menu.js
var addsentence = function(info, tab) { console.log(info, tab); alert(info.selectiontext); }; var parent = chrome.contextmenus .create( { "title": "add \"%s\"", "contexts": ["selection"], "onclick": function(info, tab) { addsentence(info); } } );
if add sentence manually yo called angular service
sentence.service.ts
@injectable() export class sentenceservice { private url = '/sentence'; private token; constructor(private http: httpclient, private authservice: authservice) { this.authservice.user.subscribe(user => { this.token = user.uid; }); } addsentence(sentence: sentence) { const payload = sentence; payload.user = this.token; this.post(payload); } private post(sentence: sentence) { return this.http .post(`${this.url}`, sentence) .subscribe( res => { console.log(res); }, err => { console.log("error occured", err); } ); } }
as seen above, sentence added user token. important getting sentence user.
question: possible called angular service in separate js file (context-menu.js)? possibly, possible getting logged user in file? or maybe should added token until in nodejs server? possible catch session or something?
Comments
Post a Comment