--- title: הרשאות slug: Mozilla/Add-ons/WebExtensions/manifest.json/permissions tags: - manifest.json - הפניה - הרחבות - הרחבות רשת - הרשאות - תוספים translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/permissions original_slug: Mozilla/Add-ons/WebExtensions/manifest.json/הרשאות ---
{{AddonSidebar}}
טיפוס | Array |
---|---|
חובה | לא |
דוגמה |
"permissions": [ "*://developer.mozilla.org/*", "webRequest" ] |
השתמשו במפתח permissions
לבקש כוחות מיוחדים עבור ההרחבה שלכם. מפתח זה הינו מערך של מחרוזות, וכל אחת ממחרוזות אלו היא בקשת הרשאה.
אם תבקשו הרשאות באמצעות מפתח זה, אזי הדפדפן עשוי לדווח למשתמש/ת בעת ההתקנה שההרבה מבקשת פריבילגיות מסויימות, ולבקש ממנו/ה לאשר כי ישמח/תשמח להעניק פריבילגיות אלו. הדפדפן עשוי גם להתיר למשתמש/ץ לבדוק פריבילגיות ההרחבה אחרי ההתקנה. כשם שהבקשה להעניק פריבילגיות עשויה להשפיע על נכונות המשתמש/ת להתקין את ההרחבה, בקשת פריבילגיות שווה הפעלה זהירה של שיקול דעת. לדוגמה, אם תרצו להימנע מלבקש הרשאות לא נחוצות ותרצו לספק מידע עודות הסיבה לבקשת הרשאות בתיאור המוצר של ההרחבה שלכם. מידע נוסף על העניינים שיש לקחת בחשבון תוכלו למצוא במאמר Request the right permissions.
למידע נוסף כיצד לבחון ולצפות בבקשת הרשאות ראו Test permission requests באתר Extension Workshop site.
המפתח יכול להכיל שלושה סוגי הרשאות:
הרשאות מארח מפורטות ב- match patterns, וכל תבנית מזהה קבוצה של כתובות URLs עבורן ההרחבה מבקשת פריבילגיות נוספות. לדוגמה, בקשת מארח יכולה להיות "*://developer.mozilla.org/*"
.
פריבילגיות נוספות כוללות:
<all_urls>
.בפירפוקס, מגירסה 56 ואילך, הרחבות מקבלות אוטומטית הרשאות מארח עבור המקור של עצמן, שהוא בצורה:
moz-extension://60a20a9b-1ad4-af49-9b6c-c64c98c37920/
כש- 60a20a9b-1ad4-af49-9b6c-c64c98c37920
הוא המזהה הפנימי של ההרחבה. ההרחבה יכולה לקבל את ה- URL תכנותית על ידי קריאה ל- extension.getURL():
browser.extension.getURL(""); // moz-extension://60a20a9b-1ad4-af49-9b6c-c64c98c37920/
הרשאות ממשק פיתוח היישומים מפורטות כמילות מפתח, וכל מילת מפתח מהווה שם של WebExtension API שההרחבה מעוניינת להשתמש בו.
כעת זמינות מילות המפתח הבאות:
activeTab
alarms
background
bookmarks
browserSettings
browsingData
clipboardRead
clipboardWrite
contentSettings
contextMenus
contextualIdentities
cookies
debugger
dns
downloads
downloads.open
find
geolocation
history
identity
idle
management
menus
menus.overrideContext
nativeMessaging
notifications
pageCapture
pkcs11
privacy
proxy
search
sessions
storage
tabHide
tabs
theme
topSites
unlimitedStorage
webNavigation
webRequest
webRequestBlocking
ברוב המקרים ההרשאה רק מעניקה גישה לממשק פיתוח היישומים, עם יוצאי הדופן הבאים:
tabs
מאפשר לך גישה ל חלקים בעלי הפריבילגיות של ממשק ה-tabs
:Tab.url
, Tab.title
, ו- Tab.faviconUrl
. בפיירפוקס, יש צורך ב- tabs
אם ברצונך לכלול גם url
בפרמטר queryInfo
ל-tabs.query()
. בכל יתר ממשק הפחתוח של tabs
ניתן להשתמש בלי לבקש כל הרשאה.webRequestBlocking
מאפשר לך להשתמש גם בארגומנט "blocking", כך שיהיה ניתן לשנות ולבטל הרשאות.downloads.open
מאפשר לך להשתמש ב- {{WebExtAPIRef("downloads.open()")}} API.tabHide
מאפשר לך להשתמש ב- {{WebExtAPIRef("tabs.hide()")}} API.הרשאה זו מצויינת כ- "activeTab"
. אם להרחבה יש הרשאה זו , אזי בעת תקשורת בין משתמש/ת להרחבה, מוענקות להרחבה פריבילגיות נוספות ללשונית הפעילה בלבד.
"תקשורת עם המשתמש" כוללת:
הפריבילגיות הנוספות הן:
browser.tabs.executeScript
ו-browser.tabs.insertCSS
Tab.url
, Tab.title
, ו-Tab.faviconUrl
.הכוונה בהרשאה זו היא לאפשר להרחבות להגשים מקרה שימוש נפוץ, ללא הצורך לתת להן הרשאות בעלות כוח רב מדי. הרשאות רבוטת יהיו מעונינות "לעשות משהו לדף הנוכחי כאשר המשתמש/ת מבקש/ת". לדוגמה, קחו בחשבון הרחבה המבקשת להריץ תסריט בדף הנוכחי כאשר המשתמש/ת מקישה על פעולת דפדפן. אם ההרשאה activeTab
לא הייתה קיימת, ההרחבה הייתה צריכה לבקש את ההרשאת המארח <all_urls>
. אבל זה נותן להרחבה יותר כוח ממה שדרוש לה: היא הייתה יכולה כעת לבצע תסריטים בכל לשונית, בכל עת שתרצה, במקום רק בלשונית הפעילה ורק בתגובה לפעולת משתמש/ת.
שימו לב כי תוכלו לקבל גישה רק ללשונית/מידע שכבר שם, כאשר ההתקשרות מצד המשתמש/ת התקיימה (למשל. ההקשה). כאשר הלשונית הפעילה מנווטת למקום אחר, למשל עקב סיום טעינה או אירוע אחר כלשהו, ההרשאה אינה מעניקה לך יותר גישה ללשונית.
בדרך כלל הלשונית המקבלת את הרשאת activeTab
היא רק הלשונית הפעילה באותו רגע, פרט למקרה אחד. ממשק היישומים menus
מאפשר להרחבה ליצור פריט תפריט המוצג כאשר המשתמש/ת מקיש/ה הקשת הקשר בלשונית (כלומר, על הרכיב בפס הלשוניות המשאפשר למשתמש/ת לעבור מלשונית ללשונית). אם המשתמש/ת מקיש/ה על פריט כזה, אזי הרשאת activeTab
מוענקת ללשונית שהוקש עליה, אף אם זו אינה הלשונית הפעילה (נכון לפיירפוקס 63, {{bug(1446956)}}).
קיימות שתי הרשאות המאפשרות להרחבה לתקשר עם לוח הגזירים:
clipboardWrite
: כותבת ללוח הגזירים באמצעות {{DOMxRef("Clipboard.write()")}}, {{DOMxRef("Clipboard.writeText()")}}, document.execCommand("copy")
or document.execCommand("cut")
clipboardRead
: קוראת מלוח הגזירים באמצעות {{DOMxRef("Clipboard.read()")}}, {{DOMxRef("Clipboard.readText()")}} or document.execCommand("paste")
ראו Interact with the clipboard לכל הפרטים אודות הדבר.
הרשאת unlimitedStorage
:
"permissions": ["*://developer.mozilla.org/*"]
לבקשת הרשאה בעלת פריבילגיה לדפים תחת developer.mozilla.org.
"permissions": ["tabs"]
לבקשת גישה לחלקים בעלי פריבילגיה של ממשק הפיתוח tabs
.
"permissions": ["*://developer.mozilla.org/*", "tabs"]
לבקשת שתי ההרשאות שלעיל.
טבלת התאימות בדף זה נוצרת ממידע ממובנה. אם תרצה לתרום לנתונים, נא לשלוף https://github.com/mdn/browser-compat-data ולשלוח לנו בקשת משיכה.
{{Compat("webextensions.manifest.permissions")}}