ההרשאה activeTab
נותנת לתוסף גישה זמנית לכרטיסייה שפעילה כרגע כשהמשתמש מפעיל את התוסף. לדוגמה, על ידי לחיצה על פעולת הדפדפן שלו. הגישה לכרטיסייה נמשכת כשהמשתמש נמצא בדף, והיא מבוטלת כשהמשתמש מנווט מחוץ לכרטיסייה או סוגר אותה.
זוהי חלופה לשימושים רבים של <all_urls>
, אבל לא תוצג אזהרה במהלך ההתקנה:
הערה: החל מגרסה M72 ואילך, ההרשאה activeTab
תוענק עד שהמשתמש יעבור
למקור אחר. כלומר, אם המשתמש מפעיל את התוסף ב-https://example.com ואז מנווט אל https://example.com/foo, לתוסף תמשיך להיות גישה לדף. אם המשתמש
ינווט אל https://chromium.org, הגישה תבוטל.
ללא activeTab
:
עם activeTab
:
דוגמה
אפשר לעיין בתוסף לדוגמה Page Redder:
{
"name": "Page Redder",
"version": "2.0",
"permissions": [
"activeTab"
],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"browser_action": {
"default_title": "Make this page red"
},
"manifest_version": 2
}
// Called when the user clicks on the browser action.
chrome.browserAction.onClicked.addListener(function(tab) {
// No tabs or host permissions needed!
console.log('Turning ' + tab.url + ' red!');
chrome.tabs.executeScript({
code: 'document.body.style.backgroundColor="red"'
});
});
למה בחרנו לעשות זאת?
מומלץ להשתמש בתוסף לגזיר אינטרנט שמכיל פעולה בדפדפן ופריט הקשר של תפריט הקשר. ייתכן שהתוסף הזה יצטרך לגשת לכרטיסיות רק כשלוחצים על פעולת הדפדפן שלו, או כשמתבצעת פעולה של פריט בתפריט ההקשר.
בלי activeTab
, התוסף הזה היה צריך לבקש גישה מלאה ועקבית לכל אתר אינטרנט, רק כדי שהוא יוכל לפעול אם המשתמש יקרא לו. זה הרבה כוח שאפשר להפקיד בתוסף פשוט כזה. אם התוסף ייפרץ, הוא יקבל גישה לכל מה שיש לו.
לעומת זאת, תוסף עם ההרשאה activeTab
מקבל גישה לכרטיסייה רק בתגובה לתנועת משתמש מפורשת. אם התוסף נפרץ, התוקף צריך להמתין שהמשתמש יפעיל אותו כדי לקבל גישה. הגישה הזו בתוקף רק עד למעבר לניווט או לסגירה של הכרטיסייה.
מה ActiveTab מאפשר
כשההרשאה activeTab
מופעלת לכרטיסייה, התוסף יכול:
- מתקשרים
tabs.executeScript
אוtabs.insertCSS
בכרטיסייה הזו. - אפשר להשיג את כתובת ה-URL, הכותרת והסמל של הכרטיסייה הזו דרך API שמחזיר אובייקט
tabs.Tab
(בעיקרון,activeTab
מעניק את ההרשאהtabs
באופן זמני). - יירוט בקשות רשת בכרטיסייה למקור של המסגרת הראשית של הכרטיסייה באמצעות ה-API webRequest. התוסף מקבל באופן זמני הרשאות מארח עבור מקור המסגרת הראשית של הכרטיסייה.
הפעלת הכרטיסייה activeTab
תנועות המשתמש הבאות מפעילות את activeTab
:
- ביצוע פעולת דפדפן
- ביצוע פעולת דף
- הפעלת פריט הקשר בתפריט
- הפעלת מקש קיצור מ-commands API
- קבלת הצעה מ-סרגל ה-API של סרגל הכתובות