لقد كتبت امتدادًا عبر المتصفح لعلامات التبويب ، ولكنك لا تفعل ذلك

مقدمة طويلة ومملة مع مطالبة بجنون العظمة


بمجرد أن اكتشفت أنه ، كما هو الحال دائمًا ، شيء لا يناسبني كثيرًا في هذا العالم. وبالتحديد ، بإدخال نوع من الاستعلام الطويل في محرك بحث على جهاز كمبيوتر سطح المكتب ثم التبديل إلى جهاز لوحي ، لم أتمكن من تذكر نص الاستعلام الحرفي للحصول على نفس النتائج بالضبط. بدأ كل شيء بشكل جيد. رأيت في محرك البحث رابطًا للإجابة على سؤالي وأدركت أنها تعد بقراءة طويلة. ثم أوقفت تشغيل الكمبيوتر وانزلت على الأريكة مع الجهاز اللوحي مع التفكير في أنني سأعيد كتابتها كلها في محرك البحث ، وسأفتح هذا الرابط الآن على الجهاز اللوحي وأستلقي بهدوء ، في وضع أكثر راحة ، سأقرأه ... ولكن ليس هنا كان. بعض الاختلافات الطفيفة في النص - ولم يعد ارتباطي موجودًا في محرك البحث. كما أن تشغيل الرابط نفسه ليس خيارًا: فهو طويل جدًا. كنت أحير من الخيارات حول نص الاستعلام ، كنت غاضبًا تقريبًا بشأن كسر الجهاز اللوحي. لعنة ، كان علي أن أقوم ، وتشغيل الكمبيوتر مرة أخرى ، وتشغيل المتصفح والخوض في التاريخ للعثور على النص الدقيق لطلبي.


تم تثبيت الإضافة في Chrome و Firefox

فكرة


فكرت ، ولكن سيكون من الرائع كتابة مثل هذا الامتداد للمتصفح الذي يسمح لك بنقل أي من علامات التبويب المفتوحة عبر الخادم إلى أي كمبيوتر آخر ومواصلة العمل معها هناك. نعم ، تحتوي بعض المتصفحات بالفعل على ميزة سحابة - ما عليك سوى تسجيل الدخول إلى كلا الجهازين و ... ولكن هذا هو الصيد. ولكن ماذا لو كان لدي Chrome على جهاز الكمبيوتر الخاص بي و Firefox على جهازي اللوحي؟ ثم ... فقط قم بتسجيل الدخول ، نعم. إذا كنت ما زلت أتذكر كلمة المرور الخاصة بي من حساب google. وليس لدي حساب في Firefox. أنا لا أعرف حتى إذا كان هناك أي حسابات هناك؟ هناك ، بالطبع ، خدمات سحابية من جهات خارجية حيث يمكنك التسجيل وربما تقوم بطريقة ما برمي الرابط المطلوب لنفسك. ولكن لا يزال من الضروري التسجيل هناك وحفظ كلمة مرور أخرى بحزم ... لا ، هذا غير واقعي تمامًا. يمكنك ، في النهاية ، ربط نفسك عبر البريد. ولكن كل هذا يستغرق وقتًا طويلًا ، ثم الصق منه ، ثم في شريط العناوين ، والذي ، على سبيل المثال ، على جهاز لوحي غير مريح للغاية. لا ، كل هذا نوع من الهراء ...

مستلقيًا على الأريكة ، أدركت ببطء أن كل هذه الإجراءات تتطلب الكثير من الحركة ... لا ، يا رفاق ، لن تفعل ذلك. وعندما أفهم أن شيئًا ما لا يناسبني في هذا العالم ، ثم أجلس لكتابة التعليمات البرمجية لأفعل كل شيء بطريقته الخاصة. اعتقدت أنني مرخص لي على الشبكات الاجتماعية على كل من الكمبيوتر اللوحي والكمبيوتر المكتبي. وفي متصفحات مختلفة ، على سبيل المثال ، على نفس جهاز الكمبيوتر - أيضًا. بشكل عام ، كان الحل بالنسبة لي واضحًا - لمصادقة المستخدم من خلال الشبكات الاجتماعية.

الاستطراد الغنائي


بالمناسبة ، عندما أكتب شيئًا خاصًا بي ، فأنا أفعل ذلك أيضًا بطريقتي الخاصة. أكتب بلغة جافا سكريبت خالصة في دفتر ملاحظات متقدم ، ولا أستخدم جيثب ، ولا أستخدم مكتبات تابعة لجهات خارجية ، ولا أستخدم حتى مسج. لذلك ، لن يكون هناك برنامج تعليمي حول كيفية كتابة ملحق المستعرض. لن أعلمك ذلك. لا تفعل ما أفعله. أحذرك - هذا مثال سيئ. أريد أيضًا أن أخبر جميع النقاد المحتملين ، توقعًا لرد فعلهم - نعم ، أتفق تمامًا مع كل غضبك الصالح. نعم ، لا يمكنك دفع النص البرمجي بالكامل إلى ملف واحد أو ملفين ، لكنك تحتاج إلى تقطيع كل شيء ، مثل السلطة ، إلى العديد من القطع الصغيرة بحيث يمكن تجميعها لمدة 3 ساعات في أمر ذكي طويل من سطر الأوامر. نعم ، لا يمكنك الجمع بين شفرة جافا سكريبت وشفرة html في ملف واحد - من الأفضل حل مشكلة مستوى تجريد آخر يجمع بينهما. نعم ، لا يمكنك استخدام تخطيط الجدول ، لكن اللعنة ، إنه حديد! والأكثر من ذلك - الآن سيحرقونني - لا يمكنك استخدام innerHtml وإنشاء بنية html معقدة في ضربة واحدة ، لكنك تحتاج إلى إرفاق وفصل جميع الأطفال في حلقة وإرفاقها بعناية ثم حذف كل معالج ... نعم ، أنا أفعل كل شيء خاطئ. آثم ، أتوب. لكني أفعل ذلك بوعي ، لأنه أسهل. ومن يمنعني؟ في النهاية ، هذا ليس غير قانوني ، أليس كذلك؟ لا أعرف كيفية البرمجة كما يتطلب التعديل الحديث ، ولا أريد حتى المحاولة ، لأنني أعتقد أن مخطط عملية التطوير معقد بلا داعٍ. أنا مع كتابة التعليمات البرمجية بيدي ، وعدم بنائها من قطع شخص آخر دون كتابة سطر واحد. ومع ذلك ، فإن الكود الخاص بي خفيف الوزن ، ولا يحتاج إلى تجميعه بواسطة فريق خاص ويعمل بسرعة. أنا أكتب التعليمات البرمجية باستخدام تقنية F5. هذا هو الوقت ، من أجل معرفة كيفية عمل الإصدار الحالي في أي لحظة من عملية التطوير ، ما عليك سوى النقر على متصفح F5.



ومع ذلك ، كان لا يزال يتعين علي تعليق معالجات في حلقة ، لأنه بخلاف ذلك لا يمر التمديد الاختبار. أيضًا في الإضافات ، فقط في حالة ، في ملف فهرس html - فجأة - تحظر البرامج النصية المتصلة ديناميكيًا. لذلك قمت بتوصيلهم من خلال علامة البرنامج النصي.

تخزين علامة التبويب


لذلك ، قررت حفظ علامات التبويب المفتوحة في المتصفح في قوائم معينة ، والتي ستطلق عليها أجهزة الكمبيوتر - الكمبيوتر المنزلي ، كمبيوتر العمل ، كمبيوتر محلي. محلي - يحدث هذا عندما لا يتم تخزين القائمة على الخادم ، ولكن في قاعدة بيانات المتصفح ، وبالتالي ، يمكنك استخدامها فقط في المتصفح الذي تم حفظها منه. هذا لعلامات التبويب التي لا تحتاج إلى إلقاءها بين أجهزة الكمبيوتر المختلفة. حسنًا ، يمكن عرض بقية القوائم على أي أجهزة كمبيوتر ومتصفحات من بين تلك التي يدعمها الملحق.

لكل علامة تبويب ، يمكن للمستخدم ترك تعليق نصي عشوائي. على سبيل المثال ، من الملائم لي أن أتذكر المسلسل الذي أوقفته عند مشاهدة المسلسل ، وأيضًا وضع علامة بنفسي على ما هو موجود في الصفحة ، إذا لم يكن واضحًا من خلال عنوانه ونوع الرابط.

وفقًا لوثائق إنشاء امتدادات لمتصفح Chrome وفايرفوكس ، يجب وضع رمز الامتداد في ملفين - الرئيسي والخلفية. يتعامل البرنامج النصي الرئيسي مع عرض واجهة المستخدم ، ويمكن أن يتحكم البرنامج النصي للخلفية في علامات تبويب المتصفح وتبادل البيانات مع الخادم. إدارة علامات التبويب في Chrome و Firefox متشابهة جدًا. على سبيل المثال ، يبدو معالج الأحداث لفتح أو إغلاق علامات التبويب في Chrome كما يلي:

chrome.tabs.onUpdated.addListener( function(tabId, changeInfo) { }); 

وفي Firefox مثل هذا:

 browser.tabs.onUpdated.addListener( function(tabId, changeInfo, tabInfo) { }); 

والوظيفة التي تعرض قائمة بكل علامات التبويب المفتوحة مكتوبة تمامًا لكلا المستعرضين:

 chrome.tabs.query({},function(data){ }); 

نعم ، نعم ، يكتب Chrome أيضًا الكروم في Firefox ... إلخ. هذا غريب بعض الشيء ، ومع ذلك ، فإن حقيقة أن المتصفحات تتجه نحو توحيد واجهة برمجة التطبيقات الخاصة بها أمر مشجع للغاية.

في الواقع ، يتم تحقيق جميع وظائف الإضافة باستخدام العديد من الوظائف - افتح نافذة الامتداد بالنقر على رمزها ، وقراءة علامات التبويب المفتوحة ، وإغلاق علامة تبويب ، وإنشاء علامة تبويب جديدة ، والاستماع إلى أحداث علامة التبويب ، وتبادل البيانات باستخدام نافذة الامتداد. هذا كل شيء. تتوفر هذه الأساليب فقط من البرنامج النصي الخلفية.

بعد القراءة ، يتم إرسال علامات التبويب المفتوحة في المتصفح إلى الخادم الخاص بي وحفظها هناك في قاعدة بيانات SQL العادية. برنامج الخادم مكتوب بلغة PHP. يوجد جدول مستخدم يقوم بتخزين الارتباطات إلى الصفوف في جدول آخر - جدول البيانات. هذه البيانات هي عناوين الصفحات وأسمائها وتعليقاتها النصية للمستخدم ، المخزنة بتنسيق السلاسل النصية في حقل نوع النص الذي يبلغ طوله كيلوبايت واحد. يتم تخزين البيانات في شكل غير مشفر. يمكن حفظ حوالي 1000 علامة تبويب لكل ميجابايت. يتم توفير 25 مخزنًا كحد أقصى ("أجهزة الكمبيوتر") لكل مستخدم.

ومع ذلك ، فإن الإصدار المجاني من الامتداد يقصر المستخدم على مخزنين - الكمبيوتر المنزلي وكمبيوتر العمل ، ولا يمكن لكل منهما تخزين أكثر من 10 علامات تبويب. ما زلت أعمل على الإصدار المدفوع وطرق الدفع. سيكون هناك ما يصل إلى 25 "جهاز كمبيوتر" وما يصل إلى حوالي 1000 علامة تبويب في كل منها ، بالإضافة إلى اختيار صور الخلفية والرموز والأسماء لكل كمبيوتر ، والقوائم الهرمية والمزيد.

هناك مستودع آخر - كمبيوتر محلي. لا توجد قيود هنا ، حيث يتم تخزين بيانات علامة التبويب في قاعدة بيانات المتصفح المحلي على جهاز الكمبيوتر الخاص بالمستخدم. هنا يمكنك تخزين العديد من علامات التبويب التي تريدها ، ولكن ليس أكثر مما يسمح به القرص الصلب. علاوة على ذلك ، نظرًا لأن البيانات لا يتم تخزينها في التخزين المحلي ، ولكن في ديسيبل مفهرس ، لا يوجد حد 5 أو بعض وحدات الميغابايت هناك. من المهم فقط عدم مسح هذا المستودع عن طريق الخطأ مع سجل المتصفح. أخطط أيضًا لتصدير واستيراد علامات التبويب إلى ملف نصي.

للعمل مع indexedDB ، كتبت مكتبة فرعية صغيرة يبلغ طولها 106 أسطر فقط. على عكس قاعدة البيانات الموجودة على الخادم ، لا تحتاج هنا جميع البيانات إلى تقطيرها إلى سلسلة نصية ، ولكن يمكن حفظها على الفور في الصفيف النقابي كما هو. مبدأ التخزين هو هذا: المفتاح هو القيمة. وقد تكون القيمة مصفوفة ارتباطية ضخمة.

مصادقة المستخدم



فايرفوكس

يحدث التفويض ، كما أشرت من قبل ، عبر الشبكات الاجتماعية ، وعلى الخادم ، باستخدام بروتوكول OAuth. لا يزال مدعومًا من Facebook و VKontakte ، لكنني أخطط لزيادة عدد طرق مصادقة المستخدم. تم وصف مخطط تفويض خادم OAuth بالتفصيل في وثائق كلتا الشبكتين الاجتماعيتين ، لذلك لا معنى للتعمق فيه بالتفصيل. ألاحظ فقط أنني لم يعجبني حقيقة أنه أثناء التفويض تفتح علامة تبويب متصفح جديدة حتى إذا كان المستخدم قد قام بتسجيل الدخول بالفعل إلى الشبكة الاجتماعية وقد منح بالفعل حقوق الامتداد. يجب أن يتم التقاط علامة التبويب هذه بواسطة نص ملحق الخلفية ثم يتم إجبارها على الإغلاق ، وبوجه عام ، لا تبدو ممتعة جماليًا ، وتدخل في علامات التبويب الأخرى وتومض عندما تظهر وتتلف.

لإغلاقه ، تحتاج VKontakte إلى التحقق من وجود العنوان في معالج أحداث علامة التبويب:

 oauth.vk.com/blank.html 

وبالنسبة للفيس بوك:

 https://www.facebook.com/connect/blank.html 

وفقط في حالة:

 facebook.com/connect/login_success.html 

لذلك ، أرسلت في البداية تجميعًا ملحقًا إلى Google Web Store ، حيث تم إجراء التفويض على العميل من خلال سحب أولي للشبكة الاجتماعية جافا سكريبت العميل المقابلة. علاوة على ذلك ، نظرًا لأن الإضافة مثبتة على المستخدم ، وأحتاج إلى التفويض على الخادم الخاص بي ، فقد قمت أيضًا بسحب html من الخادم الخاص بي في البرنامج النصي الملحق في i-frame ، لكنني سحبت بالفعل واجهة برمجة التطبيقات للشبكة الاجتماعية فيه ...

وكان مخطط تبادل البيانات مع الخادم هكذا. ترسل صفحة فهرس الإضافة أمرًا (انقر على معلومات ، على سبيل المثال) إلى نص برمجي ملحق الخلفية. يرسل النص البرمجي للخلفية باستخدام postMessage البيانات إلى i-frame html. يرسل I-frame البيانات إلى php script على الخادم. يستجيب الخادم في i-frame ، ويستجيب i-frame في البرنامج النصي للخلفية ، ويستجيب البرنامج النصي للخلفية في الفهرس ، ويرى المستخدم الإجابة. Phew ... والأهم من ذلك - عملت كل شيء!

بشكل عام ، لم ينجح هذا. لقد غطت Google إضافتي بعدد من الكلمات ، ومن بينها كان هناك شيء غامض ، كما يقولون ، فإن إضافتك لا تتوافق مع سياستنا الأمنية. من خلال المراسلات مع الدعم ، تمكنت من تحقيق التفاصيل. على وجه التحديد ، لم يعجبهم حقيقة أن الامتداد يسحب html و js من خوادم الطرف الثالث ... بشكل عام ، كان علي أن ينتهي بإذن العميل والعودة إلى الخادم. نعم ، إرسال طلب نشر http من نص ملحق الخلفية مباشرة إلى الخادم الخاص بك ، ومع ذلك ، اتضح أنه مسموح به. حسنًا ، حسنًا. هذا أفضل. اتضح أنه أقصر ولا حاجة لسحب واجهة برمجة تطبيقات جافا سكريبت من الشبكات الاجتماعية - وهذا هو وقت انتظار إضافي للمستخدم.

عرض علامات التبويب


العودة إلى خيارات التوسع. قائمة علامات التبويب نفسها هي سلسلة من الخطوط التي تأتي أولاً في الصورة المفضلة ، ثم عنوان الصفحة ، وأخيرًا الرابط. يتم اقتصاص ما لا يتناسب مع حجم الخط المعين على الشاشة. ولكن يتم حفظ قاعدة البيانات بالكامل. أيضا ، يمكن تحريك أي خط لأعلى الشاشة في شكل بلاط ملون. هذا هو لأهم المواقع التي يجب أن تكون أمام عينيك في المقام الأول.


قائمة علامة التبويب Chrome

يتم تحديد ألوان المربعات تلقائيًا بناءً على اسم المجال للموقع. تقبل الدالة عنوان url. ينقسم اسم المجال إلى ثلاث مجموعات متساوية تقريبًا من الأحرف. يتم تحويل الأحرف الأولى من كل مجموعة إلى قيم مكونات الألوان: R ، G ، B. يتم تنفيذ هذا التحويل على النحو التالي. يتم تقليل رموز هذه الأحرف الثلاثة إلى النطاق d1 ، من 0 إلى 25 ، عن طريق أخذ ما تبقى من القسمة بـ 26. حتى حروف الأبجدية الروسية سيتم تخفيضها إلى هذا النطاق. لا يهم أن يصبح الحرف السابع والعشرون هو الأول هناك: نحن لا نحتاج إلى أن تكون مكونات الألوان لجميع حروف الأبجدية مختلفة بالضرورة ، دعها تتكرر. ثم يتم تخفيض الأرقام الثلاثة التي تم الحصول عليها من النطاق d1 (0 ... 25) نسبيًا إلى النطاق d2 (150 ... 255). بشكل عام ، يتم تعيين هذه النطاقات في بداية الوظيفة ويمكن تغييرها إلى أي نطاقات أخرى. أخذت 150 ... 255 بحيث تكون مكونات اللون مشرقة. إذا قمت بتعيين ، على سبيل المثال ، 0 ... 100 ، فسوف يتحول البلاط إلى اللون الداكن. وبالتالي ، يتم تحويل ثلاثة أحرف من اسم المجال إلى 3 أرقام من النطاق 150 ... 255. ثم ، كما خمنت على الأرجح ، يتم تفسيرها على أنها مكونات اللون للبلاط R و G و B. كل شيء بسيط للغاية.

 getSiteColor=function(url) { var d1=[0,25], d2=[150,255]; var code=0, codep=0, color=0, str='', domen='', ar=[], inc=0; ar=url.split('//'); if (ar.length>1) {str=ar[1];} else {str=ar[0];}; str=str.split('www.').join(''); domen=str.split('/')[0]; str=domen.split('.').join(''); ar=[]; inc=Math.floor(str.length/3); if (str.length % 3 >0) {inc++;}; for (var i=0; i<str.length; i+=inc) { code=str.slice(i, i+1).charCodeAt(0); codep=code % (d1[1]-d1[0]+1); color=Math.round( codep * (d2[1]-d2[0]) / (d1[1]-d1[0]) ) + d2[0]; ar.push(color); }; return {r:ar[0], g:ar[1], b:ar[2], domen:domen}; } 

بنية مستند Html


يتكون مستند html من عدة عناصر من لوحة الرسم بالموضع المطلق ، مدمجة بالتراكب ، وكتلة div يتم عرض القائمة فيها. يتم تعليق وظيفة على تغيير حجم نافذة المتصفح التي تقوم بتغيير حجم كل هذه العناصر ، وتعديلها حسب الارتفاع والعرض الجديد. هناك أيضًا حد أدنى للحجم ، يتغلب على الأمر مما يؤدي إلى ظهور أشرطة التمرير. يتم عرض صورة الخلفية على اللوحة السفلية. قررت أنه بالنسبة للقوائم المختلفة (أي أجهزة الكمبيوتر) ، يجب تعيين خلفيات مختلفة لتسهيل تنقل المستخدم. تملأ صورة الخلفية النافذة بالحفاظ على نسبها وهي مضاءة قليلاً حتى لا تلفت الانتباه إلى نفسها - يتم رسم مستطيل شفاف أبيض فوقه. فوق قماش الخلفية يكمن قماش القائمة الرئيسية ، فإنه يملأ فقط الجزء العلوي من الشاشة. حسنًا وحتى أعلى تكمن كتلة div ، حيث يتم تشكيل قائمة علامات التبويب نفسها. يتم التنقل في قائمة اللوحات من خلال مكتبتي المصغرة.


متصفح Opera و Yandex

التعريب


يوجد على الشاشة الرئيسية علامة ، عن طريق النقر فوقها التي تقوم بالتبديل بين اللغة الروسية والإنجليزية. هنا يتم إعادة توجيه الصفحة إلى نفس العنوان ، ولكن مع معلمة في سطر الأوامر. تتم قراءة هذه المعلمة قبل تحميل جميع العناصر الأخرى. وبناءً على قيمته ، يتم تحميل هذا الملف js أو ذاك مع العبارات الروسية أو الإنجليزية في الصفيف النقابي للعبارات: lng_en.js أو lng_ru.js. وفي التطبيق نفسه ، لعرض عبارات الواجهة ، يتم بالفعل استخدام روابط إلى سلاسل نصية من هذا الصفيف النقابي. أيضًا ، اعتمادًا على القيمة في شريط العناوين ، يتم تحميل ملف يحتوي على عناصر الواجهة الرسومية - الأزرار: button_en.png ، أو button_ru.png. قررت أنه من الأفضل إنشاء الأزرار مباشرة مع الرموز والنقوش في كل لغة في محرر الرسومات بدلاً من إنشاء زر فارغ واحد وتراكب الرموز والنقوش عليه ، خاصة أنه لا يوجد الكثير منها وتزن قائمة الرموز المتحركة هذه 50 فقط كيلو بايت أخطط لمواصلة العمل على التصميم وجعل جميع الأزرار مختلفة في الشكل.



يتم تحميل الملف العام مع sprites main.png ، الذي يحتوي على عناصر رسومية غير مرتبطة بترجمة محددة ، على أي حال.

إصدار الويب


اعتقدت أنه سيكون من الرائع أن يتم عرض الروابط المخزنة بعناية من الكمبيوتر المنزلي أو العمل في الطريق من الهاتف. ولكن لا تدعم جميع متصفحات أنظمة تشغيل الجوال الإضافات. لذا قمت بإنشاء تجميع ويب. من خلال زيارة الموقع على عنوان محدد ، لا يزال بإمكانك تسجيل الدخول باستخدام إحدى الشبكات الاجتماعية وعرض علامات التبويب الخاصة بك.

نعم ، لا توجد طريقة لإضافة علامات تبويب إلى القائمة أو تحريرها. ولكن يمكنك على الأقل فتح علامات التبويب من القائمة وعرض الصفحات. أعتقد أنه من المفيد العمل على إصدار الجوال لهذا الموقع وعرض قوائم أكبر بعلامات التبويب فيه.


إصدار الويب في IE 11

الإعلان


لم أعمل حقاً على تعزيز توسيعي حتى الآن. لقد أنشأ للتو مجموعات في الشبكات الاجتماعية ودعا جميع أصدقائه هناك. نعم ، أطلق حملة إعلانية في Yandex Direct مقابل 1500 روبل. لم تعط أي نتائج خاصة ، ولكن ربما لم أقم بالإعلان بشكل صحيح. أو ربما تكون المشكلة هي أنني أشرت إلى رابط إلى النسخة الإنجليزية من الصفحة الرئيسية للإضافة. وربما كان الأمر يستحق إعطاء رابط ليس إلى الصفحة الرئيسية ، ولكن على الفور إلى أحد متاجر الامتدادات. كما تعلم ، أنا لست عبقريًا في التسويق. بشكل عام ، سأحاول مرة أخرى مع معلمات أخرى. أعطت الحملة 39 نقرة. من الصعب القول ما إذا كنت قد اكتسبت بعض المستخدمين الجدد نتيجة لذلك.


كان هناك غرابة واحدة مع الإصدار تحت Firefox.


تظهر إحصائيات 17 أكتوبر ما يصل إلى 227 تنزيلًا. لا أعرف ما إذا كانت الحملة في Yandex ساهمت Direct في ذلك أم لا ، ولكن لسبب ما ، يستمر تنزيل واحد أو اثنين يوميًا لسبب ما. في نفس الوقت ، لتوسيع فايرفوكس ، هناك مفهوم المستخدمين اليومي:


لماذا كان هناك 227 تنزيلًا ، ولكن لم يكن هناك سوى مستخدم واحد يوميًا ، فهذا غير واضح. ربما كان نوعا من الفشل. بشكل عام ، ما زلت لا أفهم ما هو ، وأين كل هؤلاء الناس ...

يسر الإحصائيات الموجودة على متجر إضافة سوق Chrome الإلكتروني بعض الجدول الزمني لعدم التحميل إلى الأبد - وهذا ما لم أراه - ومن 5 إلى 10 مستخدمين يوميًا.


أيضا ، أرسلت التجميع إلى مخزن ملحق Opera. ومع ذلك ، بعد أن وضعت نسختين وبدون انتظار اعتدال أي منهما ، في وقت ما تبصق على نشر إصدارات جديدة هناك. وبالفعل ، لماذا هذا ضروري إذا كان Opera يقوم بتثبيت الملحقات من متجر Chrome بشكل مثالي.


الملخص


لقد أنشأت ثلاثة إصدارات ملحقات - لمتصفح Chrome و Firefox ونسخة الويب. في الواقع ، كل التجميعات الثلاثة هي نفس التجميع ، مما يشير ببساطة في التكوين إلى محرك المتصفح المستخدم حاليًا. وتتم تهيئة الوظائف المقابلة للعمل مع علامات التبويب. أقوم بتغيير هذه القيمة قبل التعبئة في ملف مضغوط وإرسال الحزمة إلى متجر الامتداد المناسب.

تم اختبار إصدارات Chrome و Firefox ووضعها في متاجر الامتدادات الرسمية الخاصة بها. علاوة على ذلك ، يكلف التسجيل كمطور ملحق مع Google 5 دولارات. موزيلا لديها مجانا. توجد نسخة الويب من الامتداد على الخادم. يعمل التجميع من متجر Chrome بشكل جيد في المتصفحات المتوافقة: يمكن أيضًا تثبيته في متصفح Yandex و Opera. أخطط لإصدار إصدارات جديدة مع ميزات أكثر تقدمًا.

بشكل عام ، ملحقات المتصفح هي القوة. الآن لست بحاجة إلى الاستيقاظ من الأريكة ، وأيضًا ليست هناك حاجة للغضب لكسر الجهاز اللوحي. هذا زن ممتلئ. جيد للجميع.

Source: https://habr.com/ru/post/ar427773/


All Articles