簡體   English   中英

通過angular2和Typescript訪問chrome擴展

[英]Access to chrome extension through angular2 and typescript

嘗試使用angular2和typescript進行chrome擴展時,我陷入了如何訪問chrome API(特別是chrome.bookmarks)的困境。

我確實可以通過遵循TypeScript中的angular2 chrome擴展chrome.runtime.sendMessage來訪問chrome對象

但是即使我可以訪問chrome,也無法訪問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。在typescript中使用chrome擴展api

但是我找不到方法。 我應該進口什么嗎? import { Chrome, filesystem, filewriter } from '@types'; 我在這里迷路了,而且我找不到關於它的文檔(這使我相信使用angular2進行chrome擴展不是一個好主意)

chrome服務可在運行時(在瀏覽器中)供您的應用使用,而您沒有(或實際上無法導入)。 對我有用的是聲明一個var以避免編譯錯誤:

declare var chrome;

然后在處理chrome的每個代碼段中,首先檢查其是否存在(以避免開發時間崩潰):

funcThatUsesChrome(args) {
   if(chrome){
      chrome.doSomeAction();
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM