التفاعل مع المتصفح
1. المرجعية
استخدم وحدة chrome.bookmarks لإنشاء وتنظيم وإدارة الإشارات المرجعية. انظر الصفحات التجاوز لإنشاء صفحة مدير إشارة مرجعية قابلة للتخصيص.
1.1. التكوين في MAYESTEST.JSON
{"الاسم": "ملحق بلدي" ، ... "أذونات": ["مرجعية"] ، ...}الكائنات والخصائص:
يتم تنظيم العلامات في بنية شجرة ، وكل عقدة هي إشارة مرجعية أو مجموعة من العقد (يمكن أن تحتوي كل مجلد مرجعية على عقد متعددة). كل عقدة تتوافق مع كائن مرجعي.
يمكن استخدام خصائص BookmarkTreeNode من خلال chrome.bookmarks API.
مثال:
أنشأت مجلد إشارة مرجعية بعنوان "الإشارات الإرشادية".
chrome.bookmarks.create ({'parentid': bookmarkbar.id ، 'title': 'extension landmarks'} ، function (newFolder) {console.log ("المجلد المضافة:" + newfolder.title) ؛}) ؛أنشأت إشارة مرجعية لوثيقة التطوير الموسعة.
chrome.bookmarks.create ({'parentId': extensionsfolderid ، 'title': 'extensions doc' ، 'url': 'http://code.google.com/chrome/extensions'}) ؛2. ملفات تعريف الارتباط
2.1. التكوين في MAYESTEST.JSON
{"الاسم": "ملحق بلدي" ، ... "أذونات": ["ملفات تعريف الارتباط" ، "*: //*. google.com"] ، ...}3. أدوات المطور
توفر وحدات API التالية بعض الواجهات لأدوات المطورين لتمكينك من توسيع أدوات المطورين.
(1) DevTools.inspectedwindow
(2) devtools.network
(3) devtools.panels
3.1. التكوين في MAYESTEST.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 (رد الفظيعة رد الاتصال (...))) void removelistener (رد الفعل الدالة (...)) Bool haslistener (رد الفعل المستدعية (...))))
5. التصفح التاريخ
يتم استخدام وحدة Chorme.History للتفاعل مع سجلات الصفحة التي يتم الوصول إليها من قبل المتصفح. يمكنك إضافة وحذف ومتصفح الاستعلام.
5.1. التكوين في MAYESTEST.JSON
{"الاسم": "ملحق بلدي" ، ... "أذونات": ["التاريخ"] ، ...}6. إدارة المكونات
توفر وحدة الإدارة chrome.magement وسيلة لإدارة الامتدادات أو التطبيقات المثبتة وتشغيل التطبيقات. مفيد بشكل خاص لإعادة كتابة الامتدادات المدمجة في علامات تبويب جديدة.
لاستخدام واجهة برمجة التطبيقات هذه ، يجب أن تفوضه في ملف Extension Assist.
6.1. التكوين في MAYESTEST.JSON
{"الاسم": "ملحق بلدي" ، ... "أذونات": ["الإدارة"] ، ...}7. العلامات
تُستخدم وحدة تاج Chrome للتفاعل مع نظام علامة المتصفح. يتم استخدام هذه الوحدة لإنشاء العلامات وتعديلها وإعادة ترتيبها في المتصفح.
7.1. التكوين في MAYESTEST.JSON
{"الاسم": "ملحق بلدي" ، ... "أذونات": ["علامات التبويب"] ، ...}8. نافذة
استخدم وحدة chrome.windows للتفاعل مع نافذة المتصفح. يمكنك استخدام هذه الوحدة لإنشاء النوافذ وتعديلها وإعادة ترتيبها في متصفحك.
8.1. التكوين في MAYESTEST.JSON
{"الاسم": "ملحق بلدي" ، ... "أذونات": ["علامات التبويب"] ، ...}تنفيذ الإخطارات
1. طريقتان لإنشاء إشعار:
// ملاحظة: ليست هناك حاجة للاتصال بـ webkitnotifications.checkpermission (). // الامتدادات التي تعلن أذونات الإخطارات تسمح دائمًا بإنشاء الإخطار. // إنشاء إخطار نص بسيط: الإخطار var = webkitnotifications.createNotification ('48 .png '، // يمكن أن يكون عنوان url icon مسارًا نسبيًا' hello! '، // tition title' content (lorem ipsum ...) '// text body text) ؛ "الإخطار. html" // يمكن أن يكون عنوان URL لـ HTML مسارًا نسبيًا) ؛ // ثم عرض الإخطار. الإخطار. show () ؛2. كيفية التواصل مع الصفحات الأخرى:
// في الإخطار ... chrome.extension.getBackgroundPage (). dothing () ؛ // من صفحة الويب الخلفية ... chrome.extension.getViews ({type: "الإخطار").3. مثال على إشعار الوقت
دعنا ننشئ إشعارًا بالوقت ، والذي يظهر في الوقت الذي يتخلى فيه عن الوقت كل 10 ثوانٍ ، ويظهر ما مجموعه 10 مرات من الملوثات العضوية الثابتة.
3.1. manceest.json
{// سيتم استخدام هذا الحقل في مربع الحوار التثبيت وواجهة إدارة الامتداد والمتجر. عنوان الإخطار المنبثق هو "الاسم": "إشعار النظام" ، // يتم تمثيل الإصدار الموسع بأرقام إلى 4 أرقام ، مفصولة بنقاط ، ويجب أن تكون بين 0 و 65535. لا يمكن أن تبدأ الأرقام غير الصفراء بـ "الإصدار": "1" ، // سلسلة تصف النوع الموسع (لا يمكن أن تكون HTML أو أي شكل من الأشكال ، ولا يمكن أن تتجاوز أحرفها). يجب أن يكون هذا الوصف مناسبًا لكل من واجهة إدارة امتداد المتصفح ومتجر الويب Chrome. "الوصف": "يعرض الإخطارات خارج سطح المكتب ، وهي /" توست /"Windows التي تظهر على سطح المكتب." ، // واحد أو أكثر من الرموز لتمثيل الامتدادات والتطبيقات والجلود "الرموز": {"16": "16.png" ، // أيقونة الويب FA للتطبيق "48": "48.png" // // استخدم عند تثبيت WebStore} ، // مجموعة من الأذونات التي سيستخدمها الامتداد أو التطبيق "أذونات": ["علامات التبويب" ، "الإخطارات"] ، // البيان V2 يستبدل Background_PAGE مع سمة الخلفية // هنا هو البرنامج النصي JavaScript "الخلفية": تم تحديده على أنه 2 "manesest_version": 2 ، // measest_version 2. حدد مسار المورد الذي يمكن استخدامه في صفحة الويب في حزمة الامتداد (نسبة إلى الدليل الجذر لحزمة التمديد) الذي يجب استخدامه للموارد البيضاء. لا يحتاج البرنامج النصي للمحتوى الذي تم إدخاله إلى قائمة البيت "web_accessible_resources": ["48.png"]}3.2. Background.JS
/** * إظهار إشعار الوقت */وظيفة show () {var time = new Date (). format ('Yyyy-Mm-Dd Hh: mm: ss') ؛ // إنشاء إخطار Var إخطار = window.webKitNotifications.CreateNotification ('48 .png '، // picture ، أضف "الوقت الحالي في web_accessible_resources:' ، // time time // body.) ؛ // إظهار الإخطار الإخطار. this.getSeconds () ، // الثانية "Q+": Math.floor ((this.getMonth ()+3)/3) ، // Quarter "s": this.getMillisEconds () // millisecond}} if (/(y+) regexp. $ 1. length)) ؛ لـ (var k in o) if (regexp جديد ("("+ k+ ")") تنسيق الإرجاع ؛} // اختبار ما إذا كان المتصفح يدعم webkitnotificationsif (window.webKitNotifications) {// عرض الإخطارات () ؛ var الفاصل = 0 ؛ // pop-up 10 مرات var times = 10 ؛ // إنشاء Timer var timer = setInterval (function () {steral ++ ؛ // pop-up مرة واحدة في 10 ثوانٍ إذا (10 <= الفاصل الزمني) {show ()رمز المصدر
https://github.com/artinking/google-plugins/tree/master/example/notifications