Popup Blocker by AdGuard هو برنامج مستخدم يقوم بحظر جميع النوافذ المنبثقة غير المرغوب فيها في المتصفحات المختلفة.
يعمل في Chrome وFirefox وEdge وSafari وIE10+ وما إلى ذلك، بشكل أساسي في أي متصفح يدعم مديري userscript. الاستثناءات هي بعض أقدم المتصفحات التي لا تدعم واجهة برمجة التطبيقات (API) التي نستخدمها، وقد لا يعمل البرنامج النصي بشكل كامل هناك.
لا يطبق برنامج Popup Blocker أسلوب قواعد التصفية على اكتشاف النوافذ المنبثقة. وبدلاً من ذلك، فإنه يضيف طبقة إضافية أعلى واجهات برمجة التطبيقات الأصلية للمتصفح والتي يتم استخدامها لإنشاء النوافذ المنبثقة. بهذه الطريقة، لا يمكن استدعاء واجهات برمجة التطبيقات هذه إلا عندما يحدث ذلك بسبب إدخال يدوي، وليس بسبب البرامج النصية المنبثقة/المنبثقة السفلية. يسمح ذلك بحظر النوافذ المنبثقة حتى على مواقع الويب التي تحاول تجاوز أدوات حظر الإعلانات العادية باستخدام WebRTC أو تغيير خوادم الإعلانات.
لا تحتاج إلى شرح ولكنها مهمة: إذا كانت النقرة ستؤدي إلى ظهور نافذة منبثقة، فلن يتم حظر النافذة المنبثقة فحسب، بل تتم أيضًا معالجة النقرة الأولية كما لو كانت بدون النافذة المنبثقة.
لا تستطيع البرامج النصية الأخرى الموجودة على الصفحة اكتشاف استخدام أداة حظر النوافذ المنبثقة، بخلاف محاولة فتح نافذة منبثقة فعليًا. وهذا يمنع أي تجاوز محتمل لحظر النوافذ المنبثقة.
نسخة الإصدار الحالي : https://userscripts.adtidy.org/release/popup-blocker/2.5/popupblocker.user.js
الإصدار التجريبي الحالي: https://userscripts.adtidy.org/beta/popup-blocker/2.5/popupblocker.user.js
يتم تطوير أداة حظر النوافذ المنبثقة من قبل نفس الفريق الذي قام بتطوير AdGuard، ويمكن أن يعمل AdGuard لنظام التشغيل Windows كمدير لبرنامج نص المستخدم. إذا كنت من مستخدمي AdGuard، فانتقل إلى الإعدادات - الإضافات - إضافة ملحق وأدخل عنوان URL لملف Popup Blocker .js المطلوب هناك. بهذه الطريقة يمكنك استخدامه في أي متصفح حرفيًا.
من ناحية أخرى، يعد Popup Blocker مشروعًا مستقلاً، ويمكنك استخدامه مع أي مدير مستخدم آخر مثل Greasemonkey أو Tampermonkey أو Violentmonkey. تأكد من تثبيت أحدهما في متصفحك لتتمكن من استخدام مانع النوافذ المنبثقة (فقط أدخل عنوان URL للبرنامج النصي في شريط العناوين، وسيتم اكتشافه تلقائيًا بواسطة المدير).
يمكنك إدارة قائمة النطاقات المُدرجة في القائمة المسموح بها والنطاق الذي تم تجاهله في صفحة خيارات مخصصة:
للإبلاغ عن خطأ، انتقل إلى هذه الصفحة وقم بإنشاء مشكلة جديدة.
يمكنك مساعدتنا في ترجمة Popup Blocker إلى لغات أخرى! مشروعنا على Crowdin مفتوح للمساهمات العامة.
تتميز إصدارات التطوير بتمكين التسجيل وتتجاوز عددًا أكبر بكثير من واجهات برمجة التطبيقات للمتصفح لاستبطان سلوك البرنامج النصي المنبثق/المنبثق. انها ليست مناسبة للاستخدام العادي.
اختبار الوحدة لبناء التطوير موجود هنا.
لبناء المشروع اتبع الخطوات التالية:
قم بتثبيت التبعيات المحلية عن طريق تشغيل الأمر التالي في المحطة:
yarn install
للبناء، قم بتشغيل الأمر التالي في المحطة:
$ NODE_ENV=<channel> ts-node tasks/builder --target=<target>
استبدل channel
بالقناة المطلوبة، والتي يمكن أن تكون dev
أو beta
أو release
. أيضًا، استبدل target
بهدف البناء المطلوب، والذي يمكن أن يكون
userscript
- إنشاء نص المستخدم لقناة محددة؛options
- صفحة خيارات البناء، وهي صفحة مستقلة توفر للمستخدم طريقة ملائمة لإدارة مواقع الويب المسموح بها والمكتمة الصوت؛tests
- بناء الاختبارات؛bundle
– إنشاء وتجميع كل ما سبق لقناة محددة.وبدلاً من ذلك، يمكنك تشغيل الأوامر التالية بأسلوب مبسط:
yarn userscript-<channel>
yarn options-page
yarn tests
yarn bundle:dev
yarn bundle:beta
yarn bundle:release
إذا كنت تقوم بالإنشاء من أجل التطوير، لاحظ أن المخرجات لن يتم تصغيرها وستحتوي على سجلات في وحدة تحكم المتصفح.
سيتم تصغير إصدارات النسخة التجريبية والإصدارات، وستتم إزالة جميع رموز التسجيل.
قم بالإنشاء باستخدام صفحة الخيارات، وانتقل إلى مجلد البناء عبر أمر cd
وقم بتشغيل الخادم المحلي الذي تختاره
yarn options-page
قم بتعديل isOptionsPage
على option-init.ts
للسماح بعنوان ومنفذ محددين. بعد ذلك، تأكد من أن نص المستخدم (على سبيل المثال، في AG) يحتوي على هذا العنوان والمنفذ أيضًا.
لرؤية صفحة الخيارات، تأكد من أن AG تقوم بتصفية صفحة التصحيح الخاصة بك.
هناك طريقة سهلة لاختبار البرنامج النصي وهي زيارة http://code.ptcong.com/better-js-popunder-script/
ما عليك سوى النقر في أي مكان في تلك الصفحة للحصول على نافذة منبثقة، أو استخدام روابط محددة للحصول على نافذة منبثقة/منبثقة/tabup/إلخ.
السلوك المتوقع: يتم حظر النوافذ الجديدة من خلال إشعار في الزاوية اليمنى العليا.
يتم نشر صفحة الخيارات عبر صفحات GitHub مع الإجراءات اليدوية. Deploy popup blocker beta
ونشر Deploy popup blocker release
للإصدارات beta
release
على التوالي.