سؤال جوجل كروم تلقائيا بإضافة مواقع إلى قائمة محركات البحث الخاصة بي؟


لقد لاحظت أن بعض مواقع الويب (مثل مواقع Stack Exchange و Dell وغيرها) تتم إضافتها تلقائيًا إلى قائمة محركات البحث في Google Chrome.

حتى أنها تضيف اختصار لوحة المفاتيح إلى دخولها. وهنا بعض الأمثلة:

  • Dell: لوحة المفاتيح -> Dell.com
  • Stack Exchange Web masters: Keyboard -> webmasters.stackexchange.com
  • رويترز: لوحة المفاتيح -> reuters.com

Q1: هل هذا هو السلوك الافتراضي في Chrome؟ (للسماح لمواقع الويب تضيف نفسها إلى قائمة محركات البحث؟)

Q2: هل من الممكن تعطيل هذا السلوك في Chrome؟

ملاحظة: أقوم بتشغيل أحدث إصدار من Chrome: 11.0.696.57 على نظام التشغيل Windows 7 64 ، ولدي فقط ملحق واحد مثبت: Google URL shortener.


105
2018-04-27 15:44


الأصل


@ ساتيا ، لماذا؟ أرغب في الحصول على المرونة لتعطيله. إذا كان سؤالك لماذا أقوم بتعطيل شيء من هذا القبيل: الواجهة لتحرير محركات البحث ليست جيدة بشكل خاص ، ومع ازدياد القائمة ، من الصعب معرفة محركات البحث التي قمت بإضافتها يدويًا وأي محركات تمت إضافتها تلقائيًا. من الصعب أيضًا العثور على إدخال معين ضمن قائمة كبيرة. - Amelio Vazquez-Reina
Sathya - العديد من الأسباب: * الراحة: في بعض الأحيان تريد البحث عن موقع ، بدلاً من ذلك الموقع. * الاتساق: يؤدي إضافة "محركات البحث" بشكل عشوائي وبصمت إلى حدوث سلوك غير متوقع في المربع متعدد الاستخدامات. * الخصوصية: لا يخبرك Chrome عندما يقرر إضافة "محركات بحث" جديدة ، ولا تختفي عند مسح سجل التصفح. * المجاملة الشائعة: لا ينبغي أن أكون قادرًا على اختيار تمكين تمكين هذه "الميزة" ، أو - ألا يحدث ذلك - على الأقل اختيار أن يتم إبلاغك عندما يقرر Chrome إضافة موقع ، حتى أتمكن من التراجع عن هذا القرار؟ - phenry


الأجوبة:


بفضل رمز @ 10basetom ومستوحاة منshthed ، لقد أفرجت عن لا تضيف محركات بحث مخصصة تمديد كروم يفعل ذلك بالضبط.

ستجد رمز المصدر هنا.

اسمحوا لي أن أعرف ما هو رأيك!


28
2017-07-12 14:08



@ O'Rooney شكرا لك! أرى بعض المواقع تتدفق من خلال التمديد من وقت لآخر ، ولكن من الأفضل تنظيف عدد قليل من محركات البحث في شهر واحد من الاضطرار إلى القيام بعملية تطهير أسبوعية تكاد تكون كاملة ... تحياتي! - Greg Sadetsky
لا تعمل في الواقع بعد الآن: الكثير من محركات البحث المخصصة لا يزال ينتهي إضافتها. - onnodb
onnodb شكرا للملاحظة ، ولدي للأسف لم يكن لديها ما يكفي من الوقت لتحديث التمديد. - Greg Sadetsky
onnodb ، جريج ، هل (أو أي أشخاص آخرين مهتمين) يرجى المحاولة هذه الشوكة؟ تحقق من ، ثم تحميل .../src كملحق مفتوح. أعلمني كيف سيسير الامر. شكر! - cxw
ملاحظة صغيرة أن الإضافة قد تم تحديثها للتو باستخدام خوارزمية الكشف / المنع المحسنة بشكل كبير ، وذلك بفضل العديد من الجهود المبذولة من عدد من المساهمين! اعطها قبل ذلك إذا لم تكن تعمل بشكل جيد بالنسبة لك في وقت سابق. في صحتك - Greg Sadetsky


كان هذا يجعلني مجنونًا تمامًا ، لذلك وجدت حلًا قويًا ولكن فعالًا لهذه القضية.

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

أولا يجب عليك تحديد موقع Web data ملف.

  • نظام التشغيل Mac OS X: ~/Library/Application Support/Google/Chrome/Default/Web Data

  • XP: C:\Documents and Settings\<username>\Local Settings\Application Data\Google\Chrome\User Data\Default\Web Data

  • ويندوز فيستا / 7: C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default\Web Data

  • لينكس: ~/.config/google-chrome/Default/Web Data أو ~/.config/chromium/Default/Web Data

ثم فتحه مع محرر sqlite3.

يجب إيقاف تشغيل Chrome في هذه المرحلة.

الموقع الرسمي sqlite لديه صفحة التحميل مع أداة سطر الأوامر المترجمة مسبقًا لأنظمة التشغيل المختلفة. على الرغم من أن أي محرر قادر على العمل مع قواعد بيانات sqlite3 سيعمل.

بالنسبة لأداة سطر الأوامر ، استخدم أمرًا كالتالي (لا تنسى الهروب أو اقتباس المساحة في اسم الملف):

sqlite3 /path/to/Web\ Data

أضف الزناد.

CREATE TRIGGER no_auto_keywords BEFORE INSERT ON keywords WHEN (NEW.originating_url IS NOT NULL AND NEW.originating_url! = '') BEGIN SELECT RAISE (IGNORE)؛ النهاية؛

انت انتهيت. أغلق المحرر وابدأ بتشغيل Chrome.


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


60
2017-12-14 06:00



بعد تجربة عدد قليل من المحررين ، SQLiteStudio أفضله. بأي حال من الأحوال أنا متعلق بهذا المنتج. مجرد أداة مفيدة وجدت بعد بعض البحث. - mateuscb
هذا رائع ويعمل. ومع ذلك ، بالنسبة لي ، لا يزال Chrome يضيف محركات البحث ، وليس في قاعدة البيانات ، ولكن في مجلد آخر ، "مزامنة البيانات الاحتياطية". قم بتعطيل أذونات الكتابة لهذا المجلد في نظامي التشغيل Windows / Linux وستزول إلى الأبد. - Martin Hansen
يبدو أن هذا لا يعمل بعد الآن ، على الأقل في Chrome v47beta. بعد إعادة تشغيل Chrome ، يظل محرك البحث المضاف تلقائيًا في القائمة ، على الرغم من أن كتابة الكلمة الرئيسية لا تؤدي إلى تشغيله بعد الآن. - thdoan
لمعلوماتك: 1 / عمل نسخة من هذا الملف أولاً في حالة الفوضى :) 2 / على ماك 10.11.4 (إل كابيتان) لم أتمكن من فتح الملف / قاعدة البيانات مع sqlitebrowser.app ("Error: unable to open database "~/Library/Application Support/Google/Chrome/Default/Web Data": unable to open database file). 3 / إذا حاولت وتشغيل CREATE TRIGGER أثناء فتح Chrome ، ستحصل عليه Error: database is locked لذا عليك الخروج من Chrome أولاً. 4 / بمجرد إغلاق Chrome ، أدى ذلك إلى فتح قاعدة البيانات بنجاح: /Volumes/Macintosh\ HD/Applications/sqlite3 ./Web\ Data (في Terminal، عندما يكون في الدليل المحدد) HTH - sming
لقد حاولت حذف من الكلمات الرئيسية حيث id> 2؛ وجوجل فقط يزامنهم من الخادم. أعتقد أنه فات الأوان بعد أن قمت بالفعل بتثبيت الآلاف من searchengines. - Qi Fan


هناك طريقتان للقيام بذلك:

  1. أضف هذا usercript إلى عبث القرد:

    var elOpenSearch = document.querySelector('[type="application/opensearchdescription+xml"]');
    if (elOpenSearch) elOpenSearch.remove();
    
  2. إذا لم تكن مستخدمًا منتظمًا للعبث بالقرص ولا تشعر بإهدار 15 إلى 20 ميغابايت من ذاكرة الوصول العشوائي فقط لتحميل ملحق Tamper Monkey لهذا الغرض ، يمكنك عندئذٍ تمديد امتدادك الخفيف الذي لن يستهلك أي ذاكرة . يتم توفير التعليمات أدناه.

كيفية إنشاء الامتداد الخاص بك لإزالة OpenSearch <link> العلامة ومنع Chrome من إضافة محركات البحث تلقائيًا:

  1. قم بإنشاء مجلد حيث سيتم وضع ملفات الإضافة.

  2. داخل هذا المجلد ، قم بإنشاء ملفين نصيين مسمى manifest.json و content.js تحتوي على الكود الموجود أدناه.

    الملف manifest.json

    {
      "manifest_version": 2,
      "name": "Disable OpenSearch",
      "version": "1.0.0",
      "description": "Remove the OpenSearch <link> tag to prevent Google Chrome from auto-adding custom search engines.",
      "content_scripts": [
        {
          "matches": ["<all_urls>"],
          "js": ["content.js"]
        }
      ],
      "permissions": [
        "http://*/*",
        "https://*/*"
      ]
    }
    

    content.js

    var elOpenSearch = document.querySelector('[type="application/opensearchdescription+xml"]');
    if (elOpenSearch) elOpenSearch.remove();
    
  3. في Chrome ، انتقل إلى chrome://extensions/ (أدخل هذا في شريط عنوان URL).

  4. تمكين وضع المطور.

  5. انقر فوق "تحميل ملحق unpacked" ، حدد المجلد الذي قمت بإنشائه في الخطوة 1 ، وانقر فوق "موافق".

تهانينا! الآن يجب أن يكون Google Chrome أقل مزعجًا لاستخدام :-).

على سبيل الحصر: هذا الحل غير موثوق 100٪. إذا انتقلت إلى عنوان URL يحتوي على معلمة بحث (على سبيل المثال ، https://cdnjs.com/#q=fastclick) ، ثم في حالات نادرة ، سيظل محرك البحث المخصص مضافًا. أظن أن هذا يرجع إلى أن Chrome يمكنه تحليل OpenSearch <link> قبل أن تتاح للمستخدمين أو الإضافات فرصة لإزالته من DOM.


29
2017-11-06 06:10



أنا مندهش لم ينشر أي شخص هذا كتمديد رسمي إلى المتجر ، يبدو أنه سيكون مشهورًا. من الناحية المثالية ، أود الحصول على إضافة تسألني قبل إضافة محرك بحث ، أو أن يكون لديك رمز في شريط العناوين يسمح لي بإضافته ، تمامًا مثل خلاصات RSS. - ryanmonk
شكرا لرمز عظيم و @ shthed شكرا للإلهام! لقد أصدرت للتو إضافة Google Chrome وهو ما يفعل ذلك. يمكنك العثور عليها هنا. مصدر الرمز هنا. اسمحوا لي أن أعرف ما هو رأيك! :-) - Greg Sadetsky
GregSadetsky نشر هذا كإجابة ويمكننا التصويت له :) - O'Rooney
@ O'Rooney شكرا ، فقط فعلت :-) - Greg Sadetsky


  1. نعم ، هذا حسب التصميم.
  2. لا، هناك لا طريق الى تعطيل هذه.

22
2018-04-27 16:30



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


هنا حل بديل إلى حد ما والذي يعمل على ما يرام بالنسبة لي. فقط إعادة تسمية اسم مستعار البحث لشيء مشابه مثل "§ $٪! / () و/". في حين أن محرك البحث لا يزال هناك لن ترى ذلك مرة أخرى ، من أي وقت مضى. مزعج جدا إذا كنت لا تستطيع جوجل ل "جنكينز" لأن الكروم يجبرك على البحث في جنكينز.


9
2018-05-09 13:49



على محمل الجد - مجنون مزعج. شكرا على الاكرامية. - TJ Biddle
يفعل هذا بالنسبة لي jenkins، jiraو confluence - إنه يدفعني إلى الجنون تماماً لدرجة أنني لا أستطيع بدء بحث عام من شريط العنوان الخاص بي لأي شيء له علاقة بهذه الأشياء الثلاثة. هذا ، إلى حد بعيد هو الحل الأفضل والعمل الوحيد الذي رأيته. في صحتك. - Matt Clark
MattClark jira بالضبط! أريد أن أبحث عن جيرا ، وليس في ذلك! - ErikE
كيف تتصرف في قضيتك؟ بالنسبة لي ، لإطلاق البحث بالموقع، لا بد لي من كتابة كلماتها الرئيسية في omnibar أ صحافة التبويب. ثم يتغير في على موقع البحث ويمكنني الاستمرار في كتابة سلسلة البحث. إذا كنت أرغب في البحث عن الكلمة الرئيسية فقط أو سلسلة تحتوي على الكلمة الرئيسية ، فإنني اكتب الكلمة الرئيسية ، الفراغوبقية سلسلة البحث و أدخل وأنا أبحث باستخدام محرك البحث الافتراضي. لذلك لا تتداخل مع بعضها البعض. مجرد استخدام الفراغ بعد الكلمة الأساسية للبحث باستخدام محرك البحث الافتراضي و التبويب للبحث في الموقع. - Dawid Ferenczy
DawidFerenczy: هذا ليس كيف يعمل لبقية منا. لا يزال هناك مساحة تستخدم محرك البحث هذا. أنا اكتب في git، ثم الفضاء ويتغير على الفور لاستخدام محرك البحث git (الذي قمت بإزالة عدد لا يحصى من المرات). - Gerrat


حاول استخدام هذا usercript بسيط:

// ==UserScript==
// @name       Block Opensearch XML specs
// @namespace  *
// @version    0.3
// @description  Block opensearch xml links
// @match      *
// @copyright  2012+, Christian Huang
// ==/UserScript==

var i;
var val;
var len;
var opensearches;

opensearches = document.getElementsByTagName('link');
len = opensearches.length;
for (i = 0; i < len;i++) {
    val = opensearches[i].type;
    if ( val == "application/opensearchdescription+xml") {
        opensearches[i].parentNode.removeChild(opensearches[i]);
    }
}

9
2017-09-21 21:41



أين تضيف هذا البرنامج النصي؟ أو تنفيذه؟ - mateuscb
mateuscb يمكنك الحصول عليه من هنا. ثم قم بإسقاط النص البرمجي في صفحة إعدادات الإضافات في chrome و chrome: // extensions /. - Victor Häggqvist
هذه. هو. رائع. كنت بحاجة لإنشاء دمية manifest.json (حسب هذا الجواب SO وتثبيتها عبر وضع التطوير (كإضافة غير معبأة) ، ولكن بصرف النظر عن أنها تعمل كعلاج. - womble
أو ، يمكنك استخدامه في عبث القرد. إذا كنت معتادًا على إجراء تعديلات على مواقع الويب ، فيجب أن يكون TM ملحقًا ضروريًا. - JasonXA
يمكنك أيضا استخدام هذه الخطوط الملاحية المنتظمة: document.querySelector('[type="application/opensearchdescription+xml"]').remove(); (انظر جوابي أدناه). - thdoan


لإزالة أعداد كبيرة من محركات البحث بسرعة ، انتقل إلى chrome: // settings / searchEngines ، واضغط على Ctrl-Shift-J (Opt-Cmd-J على OSX) للدخول إلى وحدة تحكم جافا سكريبت ، والصق هذا:

settings
    .SearchEnginesBrowserProxyImpl
    .prototype
    .getSearchEnginesList()
    .then(function (val) {
        val.others.sort(function (a, b) { return b.modelIndex - a.modelIndex; });
        val.others.forEach(function (engine) {
            settings
                .SearchEnginesBrowserProxyImpl
                .prototype
                .removeSearchEngine(engine.modelIndex);
        });
    });

قد تحتاج إلى لصق وتشغيل هذا عدة مرات لمسح كل شيء.


8
2018-06-15 13:28



اضطررت إلى نسخ / لصق هذا حوالي 10 مرات في وحدة تحكم dev لإزالة 100 + إدخالات لدي. أتمنى لو كنت أعرف كيفية تحويله إلى بووكمركلت بنقرة واحدة. - jiggunjer
لقد قمت بتعديله لفرز القائمة في الاتجاه المعاكس أولاً (بناءً على modelIndex) ، نظرًا لأنه يتم إعادة ضبط قيمته في كل مرة يتم فيها حذف إدخال (بحيث ينتهي الأمر عادة بحذف نصف القائمة الحالية فقط) عند العمل من الأعلى إلى الأسفل. عند العمل من أسفل إلى أعلى ، لا تحدث هذه المشكلة. - alcohol
أول ما رأيت أنه يمكن القيام بذلك في جولة واحدة! مجد. - bnieland
عملت في تشغيل واحد على Windows 10 ، الإصدار 1709 من إصدار Chrome الإصدار 64.0.3282.186 (البنية الرسمية) (64 بت). - JosephHarriott