0

Angular 4を使用してGoogle ChromeのChrome拡張機能を作成しようとしています。ブラウザのアイコン(クリックイベント)をクリックしているページのURLとタイトルが必要です。これまでのところ、私は次のことをしましたChrome拡張角2/4

私はeventPageを作成しました。私はextensionのアイコンをクリックすると呼び出されています。コード=>

if (typeof chrome.browserAction !== 'undefined') { 
    chrome.browserAction.onClicked.addListener(function(tab) { 
     listService.getBookmarks().then(bookmarkLists => { 
      bookmarkLists = bookmarkLists; 
      getSelectedTab(bookmarkLists); 
     }); 
    }); 
} else { 
    console.log('EventPage initialized'); 
} 

function getSelectedTab(bookmarkLists) { 
    chrome.tabs.getSelected(null, function(tab) { 
     let newBookmark: Object = { 
      name: tab.title, 
      url: tab.url 
     }; 
     bookmarkLists.push(newBookmark); 
     listService.setBookmarks(bookmarkLists); 
    }); 
} 

listService.getBookmarks => listServiceは既にキー値ペアとして、いくつかのデータを有する方法構築にはgetBookmarksを有しています。

誰かが私がトリガーしているページのURLとタイトルを取得する方法を教えてください。

推奨編集 manifest.jsonを

{ 
    "manifest_version": 2, 

    "name": "Extension", 
    "description": "This extension ...", 
    "version": "1.0", 
    "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'", 

    "browser_action": { 
    "default_popup": "index.html" 
    }, 
    "permissions": [ 
    "storage", 
    "tabs", 
    "activeTab", 
    "http://*/*", 
    "https://*/*" 
    ], 

    "background": { 
    "page": "index.html", 
    "persistent": false 
    }, 

    "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'" 
} 
+0

あなたはすでに['tabs.Tab'](https:// deあなたが 'tabs'パーミッションを持っているなら、' 'url''と' 'title''を含んでいる' onClicked'ハンドラの中に(https://developers.brooper.chrome.com/extensions/tabs#type-Tab) chrome.com/extensions/tabs#property-Tab-url)。私は二重チェックをしなければなりませんでしたが、 'activeTab'パーミッションで利用可能であると考えました。 – Makyen

+0

@Makyen私は 'activeTab'と 'tabs'の許可を与えても、私はまだURLとタイトルを取得していません。 – Rakeschand

+0

トピックにする質問を編集してください:問題を複製する[mcve]を含めてください。 Chrome拡張機能やFirefox WebExtensionsの場合は、* manifest.json *や背景/コンテンツ/ポップアップスクリプト/ HTMLの一部を含むことがほとんどです。 (1)望ましい動作、(2)特定の問題またはエラー、(3)それを再現するために必要な最短のコードを含める必要があります。質問自体に*。また、[ここで私はどのような話題を聞くことができますか?](http://stackoverflow.com/help/on-topic)、[ask]を参照してください。 – Makyen

答えて

0

これは私が拡張子にURLとタイトルを得た方法

ある
var that = this; 
chrome.tabs.query({ 
    currentWindow: true, 
    active: true 
}, function(tabs) { 
    console.log(tabs[0]); 
    if (tabs.length > 0) { 
    if (tabs[0].url !== undefined && tabs[0].url !== null && tabs[0].url !== '') { 
     that.tabId = tabs[0].id; 
     that.tabURL = tabs[0].url; 
     that.tabTitle = tabs[0].title; 
     that.favIconUrl = tabs[0].favIconUrl; 
    } 
    } 
}); 

コンポーネント

///<reference path="../../../node_modules/@types/chrome/index.d.ts" /> 
の上にこのファイルを含めます