برای تعامل با سیستم زبانه مرورگر از API Chrome. tabs استفاده کنید. می توانید از این API برای ایجاد ، اصلاح و تنظیم مجدد برگه ها در مرورگر استفاده کنید.
فهرست مطالب
# بررسی اجمالی
TABS API نه تنها ویژگی هایی را برای دستکاری و مدیریت زبانه ها ارائه می دهد ، بلکه می تواند زبان برگه را نیز تشخیص دهد ، یک تصویر عکس بگیرد و با اسکریپت های محتوای یک تب ارتباط برقرار کند.
API Tabs می تواند توسط صفحه خدمات و صفحات پسوند استفاده شود ، اما اسکریپت های محتوا نیست.
# مجوزها
بیشتر ویژگی ها به استفاده از مجوزها احتیاج ندارند. به عنوان مثال: ایجاد یک برگه جدید ، بارگیری مجدد یک برگه ، حرکت به URL دیگری و غیره.
سه مجوز وجود دارد که توسعه دهندگان باید هنگام کار با TABS API از آنها آگاه باشند.
مجوز "زبانه" این مجوز به فضای نام Chrome. tabs دسترسی ندارد. در عوض ، این امکان را به شما می دهد تا امکان تماس با زبانه ها را داشته باشید. در برابر چهار ویژگی حساس در Tabs. Tab: URL ، PendingUrl ، عنوان و Faviconurl. مجوزهای میزبان مجوزهای میزبان اجازه می دهد تا چهار زبانه حساس را بخواند و پرس و جو را بخواند و پرس و جو کند. آنها همچنین می توانند با استفاده از روش هایی مانند tabs. capturevisibletab () ، tabs. executescript () ، tabs. insertcss () و tabs. removecss () به طور مستقیم با زبانه های تطبیق ارتباط برقرار کنند. مجوز "ActiveTab" ActiveTab یک مجوز موقت میزبان را برای برگه فعلی در پاسخ به دعوت کاربر اعطا می کند. بر خلاف مجوزهای میزبان ، ActiveTab هیچ هشدارهایی را ایجاد نمی کند.
# تجلی
موارد زیر نمونه هایی از نحوه اعلام هر مجوز در مانیفست است:
"نام": "پسوند من", . "مجوزها": [ "برگه" ], . >
"نام": "پسوند من", . "Host_permissions": [ "http: //*/*", "https: //*/*" ], . >
"نام": "پسوند من", . "مجوزها": [ "activetab" ], . >
# استفاده از موارد
بخش های زیر برخی موارد استفاده مشترک را نشان می دهد.
# باز کردن یک صفحه پسوند در یک برگه جدید
یک الگوی متداول برای پسوند ، باز کردن یک صفحه پردازنده در یک برگه جدید هنگام نصب پسوند است. مثال زیر نحوه انجام این کار را نشان می دهد.
.زمان اجرا.بر نصب.لیست افزودنی((دلیل) => if (دلیل===کروم.زمان اجرا.در نصب و راه اندازی.نصب) کروم.زبانه.ايجاد كردن( url: "onboarding. html" >); > >);
این مثال به مجوز احتیاج ندارد.
# برگه فعلی را دریافت کنید
این مثال نشان می دهد که چگونه یک کارگر سرویس برنامه افزودنی می تواند برگه فعال را از پنجره در حال حاضر متمرکز (یا اخیراً پنجره متمرکز ، در صورت عدم تمرکز ویندوز Chrome) بازیابی کند. این معمولاً می تواند به عنوان برگه فعلی کاربر تصور شود.
درز تابع GetCurrentTab() اجازه دهیدپرس و جو= فعال: درست است، واقعی, LastfocusedWindow: درست است، واقعی >; // `tab" یا یک نمونه "tabs. tab" خواهد بود یا "نامشخص". اجازه دهید [زبانه] = در انتظارکروم.زبانه.پرس و جو(پرس و جو); برگشتزبانه; >
تابع GetCurrentTab(بازپرداخت) اجازه دهیدپرس و جو= فعال: درست است، واقعی, LastfocusedWindow: درست است، واقعی >;کروم.زبانه.پرس و جو(پرس و جو, ([زبانه]) => if (کروم.زمان اجرا.سرسره)کنسول.خطا(کروم.زمان اجرا.سرسره); // `tab" یا یک نمونه "tabs. tab" خواهد بود یا "نامشخص". بازپرداخت(زبانه); >); >
# برگه مشخص شده
این مثال نشان می دهد که چگونه یک پسوند می تواند حالت خاموش را برای یک برگه معین تغییر دهد.
درز تابع chogglemutestate(زبانه) محاصره کردنزبانه= در انتظارکروم.زبانه.گرفتن(زبانه); محاصره کردنخاموش= !زبانه.خاموش.خاموش; در انتظارکروم.زبانه.به روز رسانی(زبانه, خاموش>);کنسول.ورود به سیستم(`زبانه زبانه $.id> is $ خاموش? "خاموش" : "بی سواد">`); >
تابع chogglemutestate(زبانه) کروم.زبانه.گرفتن(زبانه, درز (زبانه) => اجازه دهیدخاموش= !زبانه.خاموش.خاموش; در انتظارکروم.زبانه.به روز رسانی(زبانه, خاموش>);کنسول.ورود به سیستم(`زبانه زبانه $.id> is $ خاموش? "خاموش" : "بی سواد" >`); >); >
# هنگام کلیک روی برگه فعلی را به موقعیت اول منتقل کنید
این مثال نشان می دهد که چگونه می توان یک برگه را جابجا کرد در حالی که ممکن است در حال انجام باشد یا ممکن است در حال انجام باشد. در حالی که این مثال از Chrome. tabs. move استفاده می کند ، می توانید از همان الگوی انتظار برای تماس های دیگر استفاده کنید که زبانه ها را تغییر می دهند در حالی که کشیدن در حال انجام است.
.زبانه.فعال شده.لیست افزودنی(پیش بینی); درز تابع پیش بینی(actiinfo) تلاش كردن در انتظارکروم.زبانه.حرکت(actiinfo.زبانه, فهرست مطالب: 0>);کنسول.ورود به سیستم("موفقیت."); > گرفتن (خطا) if (خطا== "خطا: زبانه ها در حال حاضر قابل ویرایش نیستند (کاربر ممکن است یک برگه را بکشد).") محل استقرار(() => پیش بینی(actiinfo), 50); > دیگر کنسول.خطا(خطا); > > >
استفاده از گرفتن (خطا) در یک زمینه وعده راهی برای اطمینان از خطایی است که در غیر این صورت Chrome. runtime. lasterror را کنترل نمی کند.
.زبانه.فعال شده.لیست افزودنی(movetofirstpositionmv2); تابع movetofirstpositionmv2(actiinfo) کروم.زبانه.حرکت(actiinfo.زبانه, فهرست مطالب: 0 >, () => if (کروم.زمان اجرا.سرسره) محاصره کردنخطا=کروم.زمان اجرا.سرسره; if (خطا== "خطا: زبانه ها در حال حاضر قابل ویرایش نیستند (کاربر ممکن است یک برگه را بکشد).") محل استقرار(() => movetofirstpositionmv2(actiinfo), 50); > دیگر کنسول.خطا(خطا); > > دیگر کنسول.ورود به سیستم("موفقیت."); > >); >
# نمونه های پسوند
برای اطلاعات بیشتر TABS API Extensions Demos ، هر یک از موارد زیر را کاوش کنید:
- مانیفست V2 - پس زمینه های API.
- مانیفست V3 - مدیر زبانه.
استراتژیهای اسکالپ...
ما را در سایت استراتژیهای اسکالپ دنبال می کنید
برچسب :
نویسنده : ناصر تقوایی
بازدید : <-PostHit->
تاريخ : جمعه
6 مرداد
1402 ساعت: 22:49