2017-05-08 14 views
1

私はMicrosoft Edge拡張を作成しています。Microsoft Edge拡張でbrowser.tabsが定義されていません

私は、次のマニフェストファイルを持っている:私は私のscript.jsに入れたとき

{ 
    "author": "", 
    "description": "Test", 
    "name": "Test", 
    "version": "1.0", 
    "permissions": [   
     "tabs", 
     "<all_urls>" 
    ], 
    "content_scripts": [{ 
    "js": ["script.js"], 
    "matches": ["*://*/*"] 
    }], 
    "icons": { 
    "48": "icons/icon-40x40.png" 
    } 
} 

を:

var currentTab = browser.tabs.getCurrent(); 
alert(currentTab.index); 

browser.tabsが定義されていないので、それが失敗しましたか?

なぜですか?

enter image description here

+0

Chrome拡張機能を移植しようとしていますか?その場合は、 https://docs.microsoft.com/en-us/microsoft-edge/extensions/guides/porting-chrome-extensionsおよびhttps://www.microsoft.com/el-GR/store/pを参照してください。/microsoft-edge-extension-toolkit/9nblggh4txvb?rtc = 1 –

+0

いいえ、新しいMicrosoftエッジプラグインを作成するだけです。 – Jimmyt1988

+0

は、ブラウザオブジェクトがokと定義されていますか?もしそうなら、タブがなければ、それは許可問題かもしれません –

答えて

0

あなたは、このようなオプションページとしてブラウザのタブがある状況でこの機能browser.tabs.getCurrent()を呼び出すことができます。あなたがバックグラウンドのスクリプトやポップアップから呼び出すと、undefinedが返されます。しかし、あなたはコンテンツスクリプトでこの関数を使用していますので、問題ではありません。

これはPromiseを返す非同期関数です。

エッジエクステンションの機能の使用方法の詳細については、this siteを参照してください。

また、著者フィールドを空白のままにしないでください。エラーが発生することがあります。それであなたの名前を書き込んでみてください。

+0

ポイントはそれが動作しないことです:( – Jimmyt1988

+0

しかし、それは動作する必要がありますので、私はそれを使用してエッジと互換性があります –

+0

私は私のOPにpiccyを追加しました、 :) – Jimmyt1988

関連する問題