ブラウザとの相互作用
1。ブックマーク
Chrome.bookmarksモジュールを使用して、ブックマークを作成、整理、管理します。ページのオーバーライドを参照して、カスタマイズ可能なブックマークマネージャーページを作成してください。
1.1。 manifest.jsonの構成
{"name": "My Extension"、... "Permissions":["Bookmarks"]、...}オブジェクトとプロパティ:
サインはツリー構造で編成され、各ノードはブックマークまたはノードのグループです(各ブックマークフォルダーには複数のノードを含めることができます)。各ノードは、bookmarktreNodeオブジェクトに対応します。
BookMarkTreNodeのプロパティは、Chrome.BookMarks APIを介して使用できます。
例:
「拡張ブックマーク」というタイトルのブックマークフォルダーを作成しました。
Chrome.bookmarks.create({'daredid':bookmarkbar.id、 'title': 'endixt bookmarks'}、function(newfolder){console.log( "addded folder:" + newfolder.title);});拡張開発ドキュメントのブックマークを作成しました。
Chrome.bookmarks.create({'dantidid':extensionsfolderid、 'title': 'extensions doc'、 'url': 'http://code.google.com/chrome/extensions'});2。クッキー
2.1。 manifest.jsonの構成
{"name": "My Extension"、... "Permissions":["Cookies"、 "*://*.google.com"]、...}3。開発者ツール
次のAPIモジュールは、開発者ツールを拡張できるように開発者ツールにいくつかのインターフェイスを提供します。
(1)devtools.inspectedWindow
(2)devtools.network
(3)devtools.panels
3.1。 manifest.jsonの構成
{"name":... "バージョン": "1.0"、 "minimum_chrome_version": "10.0"、 "devtools_page": "devtools.html"、...}}4。イベント
イベントは、あなたが心配していることが起こったときにあなたに通知するオブジェクトです。 Chrome.tabs.oncreatedイベントを使用する例は次のとおりです。新しいタグが作成されるたびにイベントオブジェクトに通知されます。
Chrome.tabs.oncreated.addlistener(function(tab){appendtolog( 'tabs.oncreated-' + 'window:' + tab.windowid + 'tab:' + tab.id + 'index:' + tab.index + 'url:' + tab.url);});任意のイベントオブジェクトの次のメソッドを呼び出すことができます。
void addlistener(function callback(...)))void removelistener(function callback(...))bool haslistener(function callback(...)))
5。閲覧履歴
Chorme.Historyモジュールは、ブラウザからアクセスされるページレコードと対話するために使用されます。ブラウザの履歴を追加、削除、クエリすることができます。
5.1。 manifest.jsonの構成
{"name": "My Extension"、... "Permissions":["history"]、...}6。プラグイン管理
Chrome.managementモジュールは、インストールおよび実行の拡張機能またはアプリケーションを管理する方法を提供します。新しいタブに組み込まれた拡張機能の書き換えに特に便利です。
このAPIを使用するには、拡張機能マニフェストファイルで承認する必要があります。
6.1。 manifest.jsonの構成
{"name": "My Extension"、... "Permissions":["Management"]、...}7。タグ
Chromeタグモジュールは、ブラウザのタグシステムと対話するために使用されます。このモジュールは、ブラウザでタグを作成、変更、再配置するために使用されます。
7.1。 manifest.jsonの構成
{"name": "My Extension"、... "Permissions":["tabs"]、...}8。ウィンドウ
Chrome.Windowsモジュールを使用して、ブラウザウィンドウと対話します。このモジュールを使用して、ブラウザでWindowsを作成、変更、再配置できます。
8.1。 manifest.jsonの構成
{"name": "My Extension"、... "Permissions":["tabs"]、...}通知の実装
1.通知を作成する2つの方法:
//注:webkitnotifications.checkpermission()を呼び出す必要はありません。 //通知を宣言する拡張機能は、常に通知の作成を許可します。 //単純なテキストの作成通知:var notification = webkitnotification.createNotification('48 .png '、//アイコンURLは相対パス' hello! '、//通知タイトル'コンテンツ(lorem ipsum ...) '//通知ボディテキスト); // 'notification.html' // HTMLのURLは相対パスになります); //通知を表示します。 notification.show();
2。他のページと通信する方法:
//通知で... Chrome.extension.getBackGroundPage()。dothing(); //バックグラウンドWebページから... chrome.extension.getViews({type: "notification"})。3。時間通知の例
時間通知を作成します。これは、10秒ごとに時間リマインダーをポップアップし、合計10回ポップアップします。
3.1。 manifest.json
{//このフィールドは、インストールダイアログボックス、拡張管理インターフェイス、およびストアで使用されます。ポップアップ通知のタイトルは「名前」:「システム通知」です。この説明は、ブラウザ拡張機能の管理インターフェイスとChrome Webストアの両方に適している必要があります。 "description": "デスクトップ通知を表示します。これは、デスクトップにポップアップする「トースト /「トースト /」ウィンドウです。//拡張機能、アプリ、およびスキン「アイコン」を表す1つ以上のアイコン:{" 16 ":" 16.png "、//アプリケーションのFA Webアイコン" 48 ":" 48.png "://" "128.png" // webstoreのインストール時に使用}、//拡張機能またはアプリが「アクセス許可」を使用する権限のセット:["tabs"、 "notifications"]、// background_pageを背景属性に置き換える//ここにあるのはjavascript buctunt ":{bocandencts": "bocanded" in ":" "bocanded" in "" "bocandencts": "" "bocanded" in " Chrome 18では、2 "manifest_version":2、// manifest_version 2として指定する必要があります。拡張機能パッケージのWebページで使用できるリソースパス(拡張機能パッケージのルートディレクトリに関連)を使用して、リソースを使用するために使用する必要があります。挿入されたコンテンツスクリプト自体は、「web_accessible_resources ":[" 48.png "]}をホワイトリスト化する必要はありません。3.2。 background.js
/** * time通知を表示 */function show(){var time = new date()。format( 'yyyy-mm-dd hh:mm:ss'); //通知を作成しますvar notification = window.webkitnotifications.createNotification('48 .png '、// picture、add' web_accesible_resources: '、// title time // body。); //通知notification.show();} // the time function date.prototype.funciat(format){var o = {"m+":this.getmonth()+1、// month "d+":this.getdate()、// day "h+":this.gethours this.getSeconds()、// second "q+":math.floor((this.getmonth()+3)/3)、// Quarter "s":this.getmilliseconds()// millisecond} if(/(y+)/。(format)format = forgexp。 regexp。$ 1.Length)); for(o in o)if(new regexp( "("+ k+ ")")。test(format))format = format.replace(regexp。$ 1、regexp。$ 1.length == 1?o [k] :( "00"+ o [k])。 return format;} //ブラウザがwebkitnotificationifif(window.webkitnotifications)をサポートするかどうかをテスト{// show notifications show(); var interval = 0; //ポップアップ10回VAR = 10; //タイマーvarタイマーを作成= setInterval(function(){interval ++; //ポップアップ10秒で1回if(10 <= interval){show(); interval = 0; times-; if(times <-0)clearInterval(timer);}}、1000);}ソースコード
https://github.com/artinking/google-plugins/tree/master/example/notifications