אפשרויות הפצה חלופיות של תוספים

יש להפיץ את כל התוספים ל-Chrome ישירות מחנות האינטרנט של Chrome או באמצעות המנגנונים שמתוארים בהמשך. אי-ציות לאחת משיטות ההפצה האלו מהווה הפרה של מדיניות התוספים ל-Chrome וכתוצאה מכך ייתכן שהתוסף ו/או התוכנה שתפיץ אותו יסומנו כתוכנה לא רצויה.

בדרך כלל משתמשים מתקינים תוספים מחנות האינטרנט של Chrome, אבל לפעמים רוצים להתקין תוסף באמצעים אחרים. הנה שני מקרים טיפוסיים:

  • תוסף משויך לתוכנה אחרת, וצריך להתקין אותו בכל פעם שהמשתמש מתקין את אותה תוכנה אחרת.
  • מנהל רשת רוצה להתקין את אותם התוספים בכל הארגון.

תוסף שלא מותקן מחנות האינטרנט של Chrome ידוע כתוסף חיצוני. Google Chrome תומך בשיטות הבאות להתקנת תוספים עבור מפתחים שרוצים להפיץ תוסף כחלק מתהליך ההתקנה של תוכנות אחרות, או עבור מנהלי רשתות שרוצים להפיץ תוסף ברמת הארגון:

  • שימוש בקובץ העדפות JSON (עבור Mac OS X ו-Linux בלבד)
  • שימוש ברישום של Windows (רק ל-Windows)

שתי הדרכים תומכות בהתקנת תוסף שמתארח ב-update_URL. ב-Windows וב-Mac, הקוד update_URL צריך להפנות לחנות האינטרנט של Chrome שבה התוסף חייב להתארח.

קובץ ההעדפות ב-Linux יכול להפנות לשרת שלכם שבו אתם מארחים את התוסף. קובץ ה-JSON של ההעדפות תומך גם בהתקנת תוסף מקובץ תוסף .crx במחשב ה-Linux של המשתמש.

לפני שמתחילים

תחילה, publish את התוסף בחנות האינטרנט של Chrome, או אורזים קובץ .crx ומוודאים שהוא יותקן בהצלחה.

אם מתקינים מכתובת URL לעדכון, צריך לוודא שהתוסף מתארח כראוי.

לפני שעורכים את קובץ ההעדפות או את הרישום, חשוב לשים לב לנקודות הבאות:

  • המיקום המיועד של קובץ .crx של התוסף, או כתובת ה-URL לעדכון שממנה הוא מוצג
  • גרסת התוסף (מקובץ המניפסט או מהדף chrome://extensions)
  • המזהה של התוסף (מהדף chrome://extensions, אחרי שטענתם את התוסף הארוז)

הדוגמאות הבאות מבוססות על ההנחה שהגרסה היא 1.0 והמזהה הוא aaaaaaaaaabbbbbbbbbbcccccccccc.

שימוש בקובץ העדפות

  1. אם מתקינים מקובץ ב-Linux, צריך לוודא שקובץ התוסף .crx זמין במכונה שבה רוצים להתקין את התוסף. (מעתיקים אותה לספרייה מקומית או לשיתוף רשת, לדוגמה \\server\share\extension.crx או /home/share/extension.crx).
  2. יוצרים קובץ בשם הבא באחת מהתיקיות שברשימה הבאה: aaaaaaaaaabbbbbbbbbbcccccccccc.json, כאשר שם הקובץ (ללא הסיומת) תואם למזהה התוסף. המיקום תלוי במערכת ההפעלה.

    Mac OS X:

    למשתמש ספציפי: ~USERNAME/Library/Application Support/Google/Chrome/External Extensions/ לכל המשתמשים: /Library/Application Support/Google/Chrome/External Extensions/

    קובץ התוסף החיצוני לכל המשתמשים נקרא רק אם כל ספרייה בנתיב נמצאת בבעלות המשתמש root, מכילה את הקבוצה admin או wheel ולא ניתן לכתוב אותה בכל העולם. בנוסף, הנתיב צריך להיות ללא קישורים סימבוליים. ההגבלות האלה מונעות ממשתמשים לא מורשים להתקין תוספים אצל כל המשתמשים. פרטים נוספים זמינים במאמר פתרון בעיות.

    Linux:

    /opt/google/chrome/extensions/

    /usr/share/google-chrome/extensions/

    הערה: אם צריך, כדאי להשתמש ב-chmod כדי לוודא שהקבצים של aaaaaaaaaabbbbbbbbbbcccccccccc.json ניתנים לקריאה בכל העולם.

  3. ב-Linux בלבד: אם ההתקנה מתבצעת מקובץ, יש לציין את המיקום והגרסה של התוסף באמצעות שדות בשם "external_crx" ו-"external_version" בקובץ שנוצר למעלה.

    • דוגמה:
    • json { "external_crx": "/home/share/extension.crx", "external_version": "1.0" }
    • הערה: עליך לצאת מכל \` character in the location. For example,\server\share\extension.crxwould be"\\server\share\extension.crx"'.
    • אם ההתקנה מתבצעת מכתובת URL לעדכון, צריך לציין את כתובת ה-URL לעדכון של התוסף בשם השדה "external_update_url".
    • דוגמה להתקנה מקובץ .crx מקומי (Linux בלבד):
    • json { "external_update_url": "http://myhost.com/mytestextension/updates.xml" }
    • דוגמה להתקנה מחנות האינטרנט של Chrome (Mac ו-Linux):
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx" }
    • אם אתם רוצים להתקין את התוסף רק באזורי דפדפן מסוימים, תוכלו לציין את השפות הנתמכות בשם השדה 'supported_locale'. הלוקאל יכול לציין לוקאל הורה כמו en. במקרה כזה התוסף יותקן בכל הלוקאלים של אנגלית (en-US), en-GB וכו'. אם נבחר לוקאל אחר בדפדפן שלא נתמך על ידי התוסף, התוספים החיצוניים יוסרו. אם הרשימה 'supported_locales' חסרה, התוסף יותקן בכל שפה ואזור.
    • דוגמה:
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx", "supported_locales": [ "en", "fr", "de" ] }
  4. שומרים את קובץ ה-JSON.

  5. מפעילים את Google Chrome ועוברים אל chrome://extensions. התוסף אמור להופיע ברשימה.

פתרון בעיות בהרשאות של Mac OS

ב-Mac OS, קובצי התוספים החיצוניים של כל המשתמשים נקראים רק אם ההרשאות של מערכת הקבצים מונעות ממשתמשים שאין להם הרשאות לשנות אותם. אם תוספים חיצוניים לא מותקנים כאשר Chrome מופעל, ייתכן שיש בעיית הרשאות בקבצים של ההעדפות של התוספים החיצוניים. כדי לבדוק אם זו הבעיה, יש לבצע את השלבים הבאים:

  1. מפעילים את תוכנית Console. ניתן למצוא אותו בקטע /Applications/Utilities/Console.
  2. אם בסמל הימני ביותר במסוף מופיע הכיתוב 'הצגת רשימת היומנים', לוחצים עליו. עמודה שנייה מופיעה מצד שמאל.
  3. בחלונית השמאלית, לוחצים על 'הודעות המסוף'.
  4. מחפשים את המחרוזת לא ניתן לקרוא תוספים חיצוניים. אם יש בעיה בקריאת קובצי התוספים החיצוניים, תוצג הודעת שגיאה. חפשו הודעת שגיאה אחרת שמופיעה ישירות מעליה, שאמורה להסביר את הבעיה. לדוגמה, אם מופיעה השגיאה הבאה: "Path /Library/Application Support/Google/Chrome is owner with the missing group", עליכם להשתמש ב- chgrp או בתיבת הדו-שיח Get Info של Finder כדי לשנות את בעלי הקבוצה של הספרייה לקבוצה Admin.
  5. לאחר תיקון הבעיה, הפעל מחדש את Chrome. בודקים שהתוסף החיצוני מותקן עכשיו. ייתכן ששגיאת הרשאה אחת מונעת מ-Chrome לזהות שגיאה שנייה. אם התוסף החיצוני לא הותקן, צריך לחזור על השלבים האלה עד שלא מופיעה שגיאה באפליקציה של Console.

באמצעות הרישום של Windows

  1. מוצאים או יוצרים את המפתח הבא במרשם:
    • Windows בגרסת 32 ביט: HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions
    • Windows בגרסת 64 ביט: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Extensions
  2. יוצרים מפתח חדש (תיקייה) מתחת למפתח תוספים. שם זהה למזהה של התוסף (לדוגמה, aaaaaaaaaabbbbbbbbbbcccccccccc).
  3. במפתח התוסף, יוצרים מאפיין ל-"update_url" ומגדירים לו את הערך: "https://clients2.google.com/service/update2/crx" (המצביע על ה-CRX של התוסף בחנות האינטרנט של Chrome):

    {
      "update_url": "https://clients2.google.com/service/update2/crx"
    }
    
  4. מפעילים את הדפדפן ועוברים אל chrome://extensions. התוסף אמור להופיע ברשימה.

עדכון והסרה

Google Chrome סורק את רשומות המטא-נתונים בהעדפות ובמרשם בכל פעם שהדפדפן מופעל, ומבצע את השינויים הנחוצים בתוספים החיצוניים המותקנים.

כדי לעדכן את התוסף לגרסה חדשה, עדכנו את הקובץ ואז עדכנו את הגרסה בהעדפות או במרשם.

כדי להסיר את התוסף (למשל, אם התוכנה הוסרה), צריך להסיר את קובץ ההעדפה (aaaaaaaaabbbbbbbbcccccccccc.json) או את המטא-נתונים מהמרשם.

שאלות נפוצות

בקטע הזה תמצאו תשובות לשאלות נפוצות בנושא תוספים חיצוניים.

האם המתודולוגיה לאישור ההתקנה מראש עדיין תיתמך ב-Google Chrome מגרסה M33 ואילך?

כן, אבל רק כהתקנה מ-update_URL חנות האינטרנט של Chrome, לא מנתיב קובץ מקומי.

אפשר לציין כתובת URL כנתיב לתוסף החיצוני?

כן, צריך להשתמש בקובץ preferences JSON ל-Mac OS X ול-Linux; לregistry ל-Windows. התוסף חייב להתארח כפי שמוסבר בקטע אירוח. בקובץ ההעדפות, משתמשים במאפיין "external_update_url" כדי להפנות אל מניפסט עדכון שכולל את כתובת ה-URL של התוסף. במרשם של Windows, משתמשים במאפיין "update_url".

מהן חלק מהטעויות הנפוצות בהעלאה באמצעות קובץ ההעדפות?

  • לא ציינת את אותו מזהה או גרסה כמו אלה שצוינו ב-.crx
  • קובץ ה- .json (aaaaaaaaaabbbbbbbbbbcccccccccc.json) נמצא במיקום שגוי או שהמזהה שצוין לא תואם למזהה התוסף.
  • שגיאת תחביר בקובץ JSON (שכחת להפריד בין הערכים באמצעות פסיק או להשאיר פסיק בסוף במקום כלשהו)
  • הכניסה של קובץ ה-JSON מפנה לנתיב שגוי אל .crx (או הנתיב שצוין אבל אין שם קובץ)
  • לוכסנים הפוכים בנתיב UNC לא נמחקו (לדוגמה, "\\server\share\file" שגוי; הוא צריך להיות "\\\\server\\share\\extension")
  • בעיות בהרשאות של שיתוף רשת

מהן חלק מהשגיאות הנפוצות בהעלאה באמצעות המרשם?

  • לא לציין מזהה/גרסה שזהים לזה שמופיע בחנות האינטרנט של Chrome
  • המפתח נוצר במיקום שגוי במרשם
  • נקודת הכניסה במרשם מפנה לנתיב שגוי לקובץ .crx בחנות האינטרנט של Chrome
  • בעיות בהרשאות של שיתוף רשת

איך מעדכנים תוך כדי לחיצה על הקבצים הבינאריים והתוספים המותאמים?

בעבר, כשהייתה תמיכה בתוספים מחוץ לחנות, הייתה אפשרות להשתמש בקבצים הבינאריים המקוריים ולעדכן את התוסף בשלב הנעילה. עם זאת, תוספים שמתארחים בחנות האינטרנט של Chrome מתעדכנים באמצעות מנגנון העדכון של Chrome, שלא נמצא בשליטת המפתחים. מפתחי תוספים צריכים להיזהר כשמעדכנים תוספים שתלויים בקובץ הבינארי המקורי (לדוגמה, תוספים מדור קודם עם NPAPI).

מה קורה אם המשתמש מסיר את התוסף?

אם המשתמש מסיר את התוסף דרך ממשק המשתמש, הוא לא יותקן או יתעדכן יותר בכל אתחול. במילים אחרות, התוסף החיצוני נמצא ברשימת החסימה.

איך יוצאים מרשימת החסימה?

אם המשתמש מסיר את התוסף שלך, עליך לכבד את ההחלטה. עם זאת, אם הסרתם בטעות את התוסף דרך ממשק המשתמש, תוכלו להסיר את תג רשימת החסימה על ידי התקנה רגילה של התוסף דרך ממשק המשתמש, ולאחר מכן הסרתו.