تتيح إضافة Lolly URL Screenshot لتطبيق الويب التقاط لقطة شاشة لأي صفحة ويب من داخل متصفحك. من دونها، يتطلب التقاط رابط تطبيق سطح المكتب - إذ لا يمكن لصفحة متصفح قراءة البكسلات من موقع آخر بمفردها. تستطيع الإضافة ذلك، باستخدام نفس آلية الالتقاط التي يستخدمها تطبيق سطح المكتب.
يقوم بمهمة أخرى بالطريقة نفسها: قراءة صفحة واحدة تسمّيها حتى يتمكن Brand Studio من استخلاص علامة تجارية من موقع ويب مباشر. كلتاهما مشروحتان أدناه.
تعمل على المتصفحات القائمة على Chromium: Chrome، Edge، Brave، Arc، Opera - إصدار Chrome 111 أو أحدث.
إلى أن يتم تثبيتها، تظل أداة URL Screenshot تُفتح حتى تتمكن من تجهيز اللقطة، وتوضح ملاحظة أعلى عناصر تحكم الأداة ما هو الناقص.
signed by Lollyvector SVGتحقق بنفسكGet the signed file4 paths~2.4k nodes4 groups29 KB
signed by Lollyvector SVGتحقق بنفسكGet the signed file4 paths~2.4k nodes4 groups29 KB
كل عنصر تحكم فعّال أثناء الانتظار: رابط الهدف، عمق التمرير، مهلة الاستقرار، هوامش القص وإعادة التلوين. الالتقاط نفسه فقط هو ما يحتاج إلى مضيف.
signed by Lollyvector SVGتحقق بنفسكGet the signed file52 paths~3.6k nodes158 groups1 image62 KB
signed by Lollyvector SVGتحقق بنفسكGet the signed file52 paths~3.6k nodes158 groups1 image62 KB
التثبيت
من متجر Chrome الإلكتروني
قريبا. بمجرد نشرها ستثبتها بنقرة واحدة، ثم تعيد تحميل Lolly.
حمّلها بنفسك (للمطورين)
توجد الإضافة في المستودع عند shells/chrome-extension/.
- افتح
chrome://extensions. - فعّل Developer mode (أعلى اليمين).
- انقر Load unpacked واختر مجلد
shells/chrome-extension/. - أعد تحميل Lolly - أصبحت URL Screenshot تعمل الآن في المتصفح.
كيف تعمل
- يخبر نص برمجي صغير Lolly بوجود الإضافة، فتُفعَّل أداة URL Screenshot تلقائيا - دون إعداد.
- عند التصيير، تفتح الإضافة الصفحة الهدف في تبويب خلفي، وتلتقطها عبر بروتوكول أدوات المطورين (DevTools Protocol) (نفس
Page.captureScreenshotالذي يستخدمه تطبيق سطح المكتب)، ثم تغلق التبويب وتعيد الصورة. - تعمل بالكامل داخل متصفحك، على شبكتك - لذا يعمل التقاط
localhostأو موقع داخلي. لا يُرفع الالتقاط نفسه إلى أي مكان إطلاقا؛ حركة الشبكة الوحيدة هي تحميل متصفحك نفسه للصفحة التي طلبت التقاطها.
أثناء تشغيل الالتقاط قد ترى للحظة شريط "…started debugging this browser" على التبويب المؤقت. هذا هو بروتوكول أدوات المطورين قيد العمل؛ يختفي من تلقاء نفسه عند اكتمال اللقطة.
قراءة موقع لاستوديو العلامة التجارية
مصدر Website في استوديو العلامة التجارية يبدأ علامة تجارية من موقع لديك بالفعل. على Chromium، الإضافة هي ما يقرأه؛ وعلى تطبيق سطح المكتب يؤدي جلب أصلي (native fetch) المهمة نفسها، وعلى متصفح عادي بلا إضافة لا تُعرض البلاطة إطلاقا.
ما الذي يحدث عند الضغط عليها:
- عنوان واحد، صفحة واحدة. تفتحها الإضافة في نفس نوع التبويب الخلفي، وتقرأ الترميز المُصيّر، ونص أوراق الأنماط، وحفنة من صور الأيقونات والشعارات، ثم تغلق التبويب. لا تتبع الروابط ولا تزحف.
- تُجلب أيضا أوراق الأنماط والخطوط المستضافة في مكان آخر (شبكة توصيل محتوى، خدمة خطوط)، لأن ألوان الصفحة وطباعتها تكمن فيها. تذهب الطلبات عبر أصل مختلف (cross-origin) دون ملفات تعريف الارتباط الخاصة بك؛ أما الطلبات من نفس الأصل فتستخدمها، تماما كما تفعل الصفحة نفسها.
- كل شيء محدود بسقف - عدد محدود من الأوراق والصور والبايتات - بحيث تعيد صفحة معادية أو معطوبة جزئيا مادة جزئية بدلا من التعليق.
- تعود البايتات مباشرة إلى تبويب Lolly الذي طلبها. يجري تحليلها إلى ألوان وطباعة وشعارات على جهازك؛ لا يُرفع شيء.
لا يُقرأ شيء حتى تضغط. لصق عنوان لا يفعل سوى ملء الحقل.
بعد التثبيت
أعد تحميل تبويب Lolly. تختفي رسالة "Get the extension" وتصبح URL Screenshot متاحة في المعرض وفي وضع الدفعات (Batch).
الأذونات
يعلن manifest.json الخاص بها عن أربعة أذونات بالإضافة إلى صلاحية الوصول للمضيفين:
debugger- لتشغيل التبويب الخلفي عبر بروتوكول أدوات المطورين. هذا ما يلتقط لقطة الشاشة.tabs- لفتح التبويب الخلفي المؤقت وإغلاقه لاحقا.scripting- لتشغيل قارئ الصفحة الواحدة داخل الموقع الذي حددته، لأجل مصدر Website في استوديو العلامة التجارية.storage- لتسجيل معرّف تبويب فتحته، في تخزين الجلسة (session storage) فقط، بحيث يُغلق التبويب حتى لو أوقف المتصفح الإضافة مؤقتا أثناء القراءة. يُمسح عند بدء التشغيل التالي؛ لا يُخزَّن عنك أي شيء.host_permissions: ["<all_urls>"]- صلاحية الوصول لجميع المواقع، لأنه يمكنك توجيهها إلى أي رابط تختاره. يُظهر Chrome هذا عند التثبيت كتحذير عام "read and change all your data on all websites".
رغم هذا التحذير، فهي لا تقرأ سوى الصفحة الواحدة التي تطلب منها التقاطها أو استيرادها، ولا تقرأ بيانات تصفحك أو ترسلها - لا يُرفع شيء إلى أي مكان.
يحدد البيان أيضا minimum_chrome_version: 111. الإصدار الحالي هو 0.2.1.
استكشاف الأخطاء وإصلاحها
- ما زلت ترى "Get the extension"؟ أعد تحميل تبويب Lolly - يحدث الاكتشاف عند تحميل الصفحة.
- لا شيء يحدث على هذا الموقع؟ تُفعَّل الإضافة فقط على أصول Lolly الخاصة. هل تشغّل بناء مخصصا على نطاق آخر؟ أضفه إلى
content_scripts.matchesفيmanifest.jsonالخاص بالإضافة. - فشل الالتقاط؟ تحقق من أن الرابط قابل للوصول ويبدأ بـ
http://أوhttps://. بعض الصفحات تحظر الالتقاط الآلي فعليا.