2017-01-05 3 views
1

angular2とtypescriptでクロム拡張をしようとすると、クロームAPI(特にchrome.bookmarks)にアクセスする方法が残っています。angle2とtypescriptによるクロム拡張へのアクセス

は私がangular2 chrome extension chrome.runtime.sendMessage from typescript

しかし、私はクロムにアクセスできるにもかかわらず、私はchrome.bookmarksすることはできませんが、以下のことにより、クロムオブジェクトへのアクセスを持っている

manifest.jsonを

{ 
    "manifest_version": 2, 
    "name": "x", 
    "short_name": "x", 
    "description": "x", 
    "version": "0.1.0", 
    "author": "x", 
    "permissions": [ 
     "bookmarks", 
     "https://ajax.googleapis.com/" 
    ] 
} 

そして、ここに示唆しているように、@typesを通してchromeにアクセスする必要があるようです。 Using chrome extension apis in typescript

しかし、私はどのように見つけることができません。私は何をインポートする必要がありますか? import { Chrome, filesystem, filewriter } from '@types';?私はここで迷っていますが、私はそれについてのドキュメントを見つけることができません。(クロムエクステンションにangular2を使うのは良い考えではないと思うのですが)

+0

どのように進めていくのですか?どこで(私が願っているバックラウンド)あなたはブックマークを呼び出すのですか? –

答えて

3

chromeサービスは実行時にブラウザで)、あなたは持っていない(または実際にはインポートできません)。

declare var chrome; 

し、それが存在する場合、最初のチェックに、クロムを扱う各コード・セグメントに(DEV時間のクラッシュを避けるために)::

funcThatUsesChrome(args) { 
    if(chrome){ 
     chrome.doSomeAction(); 
    } 
} 
何私のために働いたことは、コンパイルエラーを回避するためにVARを宣言しました
+1

拡張機能としてブラウザに表示されるのはどういう意味ですか?アプリはブラウザで実行されるため(localhost:3000)そして、user @ types/chromeへの道は何ですか? – Gerard

+0

はい、これは私の言いたいことです。 Chromeは、アプリが拡張機能として実行されている場合にのみ使用できます。私は@タイプ/クロムソリューションに精通していません。 – Meir