ההרשאה 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
באופן זמני). - הקצאת בקשות רשת בכרטיסייה למקור המסגרת הראשי של הכרטיסייה באמצעות webRequest API. התוסף מקבל באופן זמני הרשאות מארח עבור מקור המסגרת הראשי של הכרטיסייה.
הפעלת ActiveTab
תנועות המשתמש הבאות מאפשרות את activeTab
:
- ביצוע פעולה בדפדפן
- ביצוע פעולה בדף
- להפעיל אפשרות בתפריט ההקשר.
- הפעלת מקשי קיצור מ-commands API
- אישור הצעה מ-סרגל ה-API