বিবরণ
ব্রাউজার উইন্ডোর সাথে ইন্টার্যাক্ট করতে chrome.windows API ব্যবহার করুন। ব্রাউজারে উইন্ডো তৈরি, পরিবর্তন ও আবার সাজাতে আপনি এই API ব্যবহার করতে পারবেন।
অনুমতি
অনুরোধ করা হলে, windows.Window-এ tabs.Tab অবজেক্টের একটি অ্যারে থাকে। tabs.Tab-এর url,
pendingUrl, title অথবা favIconUrl প্রপার্টিতে অ্যাক্সেস পেতে হলে, আপনাকে
অবশ্যই ম্যানিফেস্টে "tabs" অনুমতি ঘোষণা করতে হবে। যেমন:
{
"name": "My extension",
...
"permissions": ["tabs"],
...
}
ধারণা ও ব্যবহার
বর্তমান উইন্ডো
এক্সটেনশন সিস্টেমের অনেক ফাংশন একটি ঐচ্ছিক windowId আর্গুমেন্ট নেয়, যা ডিফল্ট হিসেবে বর্তমান উইন্ডোতে
সেট করা থাকে।
বর্তমান উইন্ডো হল সেই উইন্ডো যাতে বর্তমানে এক্সিকিউট হওয়া কোডটি রয়েছে। এটি মনে রাখা গুরুত্বপূর্ণ যে এটি সবচেয়ে উপরে থাকা বা ফোকাস করা উইন্ডো থেকে আলাদা হতে পারে।
যেমন, ধরুন কোনও এক্সটেনশন একটি HTML ফাইল থেকে কয়েকটি ট্যাব বা উইন্ডো তৈরি করে এবং সেই HTML ফাইলে tabs.query()-এর জন্য কল আছে। বর্তমান উইন্ডো হল সেই উইন্ডো যাতে সেই পৃষ্ঠাটি আছে
যেটি কল করেছে, সবচেয়ে উপরের উইন্ডোটি যাই হোক না কেন।
সার্ভিস ওয়ার্কারের ক্ষেত্রে, বর্তমান উইন্ডোর ভ্যালু শেষ অ্যাক্টিভ উইন্ডোতে ফিরে যায়। কিছু পরিস্থিতিতে, ব্যাকগ্রাউন্ড পৃষ্ঠার জন্য কোনও বর্তমান উইন্ডো নাও থাকতে পারে।
উদাহরণ
এই API ব্যবহার করে দেখতে, chrome-extension-samples রিপোজিটরি থেকে windows API উদাহরণ ইনস্টল করুন।
ধরন
CreateType
কোন ধরনের ব্রাউজার উইন্ডো তৈরি করতে হবে তা নির্দিষ্ট করে। 'panel' বন্ধ করা হয়েছে এবং এটি শুধুমাত্র Chrome OS-এ আগে থেকে অনুমোদিত এক্সটেনশনের জন্য উপলভ্য।
Enum
"স্বাভাবিক"
উইন্ডোকে স্ট্যান্ডার্ড উইন্ডো হিসেবে নির্দিষ্ট করে।
"popup"
উইন্ডোটি পপ-আপ উইন্ডো হিসেবে নির্দিষ্ট করে।
"প্যানেল"
উইন্ডোকে প্যানেল হিসেবে নির্দিষ্ট করে।
QueryOptions
প্রপার্টি
-
অটো-ফিল করা
বুলিয়ান ঐচ্ছিক
সত্য হলে,
windows.Windowঅবজেক্টের একটিtabsপ্রপার্টি আছে যাতেtabs.Tabঅবজেক্টের একটি তালিকা রয়েছে। এক্সটেনশনের ম্যানিফেস্ট ফাইলে"tabs"অনুমতি অন্তর্ভুক্ত থাকলে,Tabঅবজেক্টে শুধুমাত্রurl,pendingUrl,titleএবংfavIconUrlপ্রপার্টি থাকে। -
windowTypes
WindowType[] ঐচ্ছিক
সেট করা থাকলে,
windows.Window-এর ধরন অনুযায়ী ফিল্টার করা হয়। আনসেট করা থাকলে, ডিফল্ট ফিল্টার['normal', 'popup']-এ সেট করা হয়।
Window
প্রপার্টি
-
alwaysOnTop
বুলিয়ান
উইন্ডোটি সবসময় উপরে থাকার জন্য সেট করা আছে কিনা।
-
মনোযোগী
বুলিয়ান
উইন্ডোটি বর্তমানে ফোকাস করা উইন্ডো কিনা।
-
উচ্চতা
নম্বর ঐচ্ছিক
ফ্রেম সহ উইন্ডোর উচ্চতা, পিক্সেলে। কিছু পরিস্থিতিতে কোনও উইন্ডোতে
heightপ্রপার্টি অ্যাসাইন করা নাও থাকতে পারে; যেমন,sessionsAPI থেকে বন্ধ করা উইন্ডো কোয়েরি করার সময়। -
id
নম্বর ঐচ্ছিক
উইন্ডোর আইডি। উইন্ডো আইডি ব্রাউজার সেশনের মধ্যে অনন্য। কিছু পরিস্থিতিতে কোনও উইন্ডোতে
IDপ্রপার্টি অ্যাসাইন করা নাও থাকতে পারে; যেমন,sessionsAPI ব্যবহার করে উইন্ডো কোয়েরি করার সময়, যেক্ষেত্রে সেশন আইডি থাকতে পারে। -
ছদ্মবেশী মোড
বুলিয়ান
উইন্ডোটি ছদ্মবেশী কিনা।
-
বাঁদিকে
নম্বর ঐচ্ছিক
স্ক্রিনের বাঁদিকের প্রান্ত থেকে উইন্ডোর অফসেট পিক্সেলে। কিছু পরিস্থিতিতে কোনও উইন্ডোতে
leftপ্রপার্টি অ্যাসাইন করা নাও থাকতে পারে; যেমন,sessionsAPI থেকে বন্ধ করা উইন্ডো কোয়েরি করার সময়। -
sessionId
স্ট্রিং ঐচ্ছিক
sessionsAPI থেকে পাওয়া সেশন আইডি যা অনন্যভাবে উইন্ডো শনাক্ত করতে ব্যবহার করা হয়। -
রাজ্য
WindowState ঐচ্ছিক
এই ব্রাউজার উইন্ডোর অবস্থা।
-
ট্যাব
ট্যাব[] ঐচ্ছিক
উইন্ডোতে বর্তমান ট্যাবকে উপস্থাপন করে এমন
tabs.Tabঅবজেক্টের অ্যারে। -
উপর
নম্বর ঐচ্ছিক
স্ক্রিনের উপরের প্রান্ত থেকে উইন্ডোর অফসেট পিক্সেলে। কিছু পরিস্থিতিতে কোনও উইন্ডোতে
topপ্রপার্টি অ্যাসাইন করা নাও থাকতে পারে; যেমন,sessionsAPI থেকে বন্ধ করা উইন্ডো কোয়েরি করার সময়। -
ধরন
WindowType ঐচ্ছিক
এটি যে ধরনের ব্রাউজার উইন্ডো।
-
প্রস্থ
নম্বর ঐচ্ছিক
ফ্রেম সহ উইন্ডোর প্রস্থ, পিক্সেলে। কিছু পরিস্থিতিতে কোনও উইন্ডোতে
widthপ্রপার্টি অ্যাসাইন করা নাও থাকতে পারে; যেমন,sessionsAPI থেকে বন্ধ করা উইন্ডো কোয়েরি করার সময়।
WindowState
এই ব্রাউজার উইন্ডোর অবস্থা। কিছু পরিস্থিতিতে কোনও উইন্ডোতে state প্রপার্টি অ্যাসাইন করা নাও থাকতে পারে; যেমন, sessions API থেকে বন্ধ করা উইন্ডো কোয়েরি করার সময়।
Enum
"স্বাভাবিক"
স্বাভাবিক উইন্ডো স্টেট (মিনিমাইজ, ম্যাক্সিমাইজ বা ফুলস্ক্রিন নয়)।
"মিনিমাইজ করা হয়েছে"
মিনিমাইজ করা উইন্ডোর স্ট্যাটাস।
"সর্বাধিক করা হয়েছে"
সর্বাধিক করা উইন্ডো স্ট্যাটাস।
"ফুল-স্ক্রিন"
ফুল-স্ক্রিন উইন্ডো স্টেট।
WindowType
এটি হল ব্রাউজার উইন্ডোর ধরন। কিছু পরিস্থিতিতে উইন্ডোতে type প্রপার্টি অ্যাসাইন করা নাও থাকতে পারে; যেমন, sessions API থেকে বন্ধ করা উইন্ডো কোয়েরি করার সময়।
Enum
"স্বাভাবিক"
একটি স্বাভাবিক ব্রাউজার উইন্ডো।
"পপ-আপ"
একটি ব্রাউজার পপ-আপ।
"প্যানেল"
এই API-তে বন্ধ করা হয়েছে। Chrome অ্যাপ প্যানেল-স্টাইল উইন্ডো। এক্সটেনশন শুধুমাত্র তার নিজস্ব প্যানেল উইন্ডো দেখতে পারে।
"অ্যাপ"
এই API-তে বন্ধ করা হয়েছে। Chrome অ্যাপ উইন্ডো। এক্সটেনশন শুধুমাত্র তার অ্যাপের নিজস্ব উইন্ডো দেখতে পারে।
"devtools"
একটি ডেভেলপার টুল উইন্ডো।
প্রপার্টি
WINDOW_ID_CURRENT
windowId ভ্যালু যা বর্তমান উইন্ডো দেখায়।
ভ্যালু
-২
WINDOW_ID_NONE
windowId ভ্যালু যা Chrome ব্রাউজার উইন্ডোর অনুপস্থিতি দেখায়।
ভ্যালু
-১
পদ্ধতি
create()
browser.windows.create(
createData?: object,
): Promise<Window | undefined>
প্রদান করা যেকোনও ঐচ্ছিক সাইজ, পজিশন বা ডিফল্ট URL সহ একটি নতুন ব্রাউজার উইন্ডো তৈরি করে (খোলে)।
প্যারামিটারগুলি
-
createData
অবজেক্ট ঐচ্ছিক
-
মনোযোগী
বুলিয়ান ঐচ্ছিক
trueহলে, একটি অ্যাক্টিভ উইন্ডো খোলে।falseহলে, ইনঅ্যাক্টিভ উইন্ডো খোলে। -
উচ্চতা
নম্বর ঐচ্ছিক
ফ্রেম সহ নতুন উইন্ডোর উচ্চতা পিক্সেলে। উল্লেখ করা না থাকলে, ডিফল্ট হিসেবে স্বাভাবিক উচ্চতা সেট করা হয়।
-
ছদ্মবেশী মোড
বুলিয়ান ঐচ্ছিক
নতুন উইন্ডোটি ছদ্মবেশী উইন্ডো হওয়া উচিত কিনা।
-
বাঁদিকে
নম্বর ঐচ্ছিক
স্ক্রিনের বাঁদিকের প্রান্ত থেকে নতুন উইন্ডো পজিশন করার জন্য পিক্সেলের সংখ্যা। উল্লেখ করা না থাকলে, নতুন উইন্ডোটি স্বাভাবিকভাবেই শেষ ফোকাস করা উইন্ডো থেকে অফসেট করা হয়। প্যানেলের জন্য এই মান উপেক্ষা করা হয়।
-
setSelfAsOpener
বুলিয়ান ঐচ্ছিক
Chrome 64+ Chrome 148 থেকে browser.*trueহলে, নতুন তৈরি করা উইন্ডোর 'window.opener' কলারের জন্য সেট করা হয় এবং কলারের মতো একই সম্পর্কিত ব্রাউজিং কনটেক্সটের ইউনিট-এ থাকে। -
রাজ্য
WindowState ঐচ্ছিক
Chrome 44+ Chrome 148 থেকে browser.*উইন্ডোর প্রাথমিক অবস্থা।
minimized,maximizedএবংfullscreenরাজ্যকেleft,top,widthবাheight-এর সাথে একত্রিত করা যাবে না। -
tabId
নম্বর ঐচ্ছিক
নতুন উইন্ডোতে যোগ করার জন্য ট্যাবের আইডি।
-
উপর
নম্বর ঐচ্ছিক
স্ক্রিনের উপরের প্রান্ত থেকে নতুন উইন্ডোটি পজিশন করার জন্য পিক্সেলের সংখ্যা। উল্লেখ করা না থাকলে, নতুন উইন্ডোটি স্বাভাবিকভাবেই শেষ ফোকাস করা উইন্ডো থেকে অফসেট করা হয়। প্যানেলের জন্য এই মান উপেক্ষা করা হয়।
-
ধরন
CreateType ঐচ্ছিক
কোন ধরনের ব্রাউজার উইন্ডো তৈরি করতে হবে তা নির্দিষ্ট করে।
-
URL
স্ট্রিং | স্ট্রিং[] ঐচ্ছিক
উইন্ডোতে ট্যাব হিসেবে খোলার জন্য URL বা URL-এর অ্যারে। সম্পূর্ণ-যোগ্য URL-এ অবশ্যই একটি স্কিম অন্তর্ভুক্ত থাকতে হবে, যেমন, 'http://www.google.com', 'www.google.com' নয়। এক্সটেনশনের মধ্যে সম্পূর্ণ-যোগ্যতা-সম্পন্ন নয় এমন URL-কে আপেক্ষিক হিসেবে বিবেচনা করা হয়। ডিফল্ট হিসেবে নতুন ট্যাব পৃষ্ঠা সেট করা থাকে।
-
প্রস্থ
নম্বর ঐচ্ছিক
ফ্রেম সহ নতুন উইন্ডোর প্রস্থ পিক্সেলে। উল্লেখ করা না থাকলে, ডিফল্ট হিসেবে স্বাভাবিক প্রস্থ সেট করা হয়।
-
রিটার্ন
-
<Window | undefined> প্রমিস করুন
Chrome 88+ Chrome 148 থেকে browser.*
get()
browser.windows.get(
windowId: number,
queryOptions?: QueryOptions,
): Promise<Window>
কোনও উইন্ডো সম্পর্কে বিবরণ পায়।
প্যারামিটারগুলি
-
windowId
নম্বর
-
queryOptions
QueryOptions ঐচ্ছিক
Chrome 88+ Chrome 148 থেকে browser.*
রিটার্ন
-
Promise<Window>
Chrome 88+ Chrome 148 থেকে browser.*
প্যারামিটারগুলি
-
queryOptions
QueryOptions ঐচ্ছিক
Chrome 88+ Chrome 148 থেকে browser.*
রিটার্ন
-
Promise<Window[]>
Chrome 88+ Chrome 148 থেকে browser.*
getCurrent()
browser.windows.getCurrent(
queryOptions?: QueryOptions,
): Promise<Window>
বর্তমান উইন্ডো দেখায়।
প্যারামিটারগুলি
-
queryOptions
QueryOptions ঐচ্ছিক
Chrome 88+ Chrome 148 থেকে browser.*
রিটার্ন
-
Promise<Window>
Chrome 88+ Chrome 148 থেকে browser.*
getLastFocused()
browser.windows.getLastFocused(
queryOptions?: QueryOptions,
): Promise<Window>
সবচেয়ে সম্প্রতি ফোকাস করা উইন্ডোটি পায় — সাধারণত 'সবচেয়ে উপরে' থাকা উইন্ডো।
প্যারামিটারগুলি
-
queryOptions
QueryOptions ঐচ্ছিক
Chrome 88+ Chrome 148 থেকে browser.*
রিটার্ন
-
Promise<Window>
Chrome 88+ Chrome 148 থেকে browser.*
remove()
browser.windows.remove(
windowId: number,
): Promise<void>
কোনও উইন্ডো এবং তার মধ্যে থাকা সব ট্যাব সরিয়ে দেয় (বন্ধ করে)।
প্যারামিটারগুলি
-
windowId
নম্বর
রিটার্ন
-
<void> প্রমিস
Chrome 88+ Chrome 148 থেকে browser.*
update()
browser.windows.update(
windowId: number,
updateInfo: object,
): Promise<Window>
উইন্ডোর প্রপার্টি আপডেট করে। শুধুমাত্র সেইসব প্রপার্টি উল্লেখ করুন যেগুলি পরিবর্তন করতে হবে; উল্লেখ না করা প্রপার্টি অপরিবর্তিত থাকবে।
প্যারামিটারগুলি
-
windowId
নম্বর
-
updateInfo
অবজেক্ট
-
drawAttention
বুলিয়ান ঐচ্ছিক
trueহলে, ফোকাস করা উইন্ডো পরিবর্তন না করেই, উইন্ডোটি এমনভাবে ডিসপ্লে করা হয় যাতে ব্যবহারকারীর মনোযোগ উইন্ডোর দিকে আকৃষ্ট হয়। ব্যবহারকারী উইন্ডোতে ফোকাস পরিবর্তন না করা পর্যন্ত এফেক্টটি থাকে। উইন্ডোটি আগে থেকেই ফোকাসে থাকলে এই বিকল্পের কোনও প্রভাব নেই। আগেরdrawAttentionঅনুরোধ বাতিল করতেfalse-এ সেট করুন। -
মনোযোগী
বুলিয়ান ঐচ্ছিক
trueহলে, উইন্ডোটি সামনে নিয়ে আসে; 'মিনিমাইজ করা' স্ট্যাটাসের সাথে কম্বাইন করা যাবে না।falseহলে, z-অর্ডারে পরবর্তী উইন্ডোটি সামনে নিয়ে আসে; 'ফুল-স্ক্রিন' বা 'সর্বাধিক বড় করা' স্ট্যাটাসের সাথে একত্রিত করা যাবে না। -
উচ্চতা
নম্বর ঐচ্ছিক
উইন্ডোর সাইজ পরিবর্তন করার জন্য পিক্সেলে উচ্চতা। প্যানেলের জন্য এই মান উপেক্ষা করা হয়।
-
বাঁদিকে
নম্বর ঐচ্ছিক
উইন্ডোটি পিক্সেলে সরানোর জন্য স্ক্রিনের বাঁদিকের প্রান্ত থেকে অফসেট। প্যানেলের জন্য এই মান উপেক্ষা করা হয়।
-
রাজ্য
WindowState ঐচ্ছিক
উইন্ডোর নতুন অবস্থা। 'মিনিমাইজ করা', 'ম্যাক্সিমাইজ করা' এবং 'ফুল-স্ক্রিন' স্ট্যাটাস 'বাঁদিকে', 'উপরে', 'প্রস্থ' বা 'উচ্চতা'র সাথে একত্রিত করা যাবে না।
-
উপর
নম্বর ঐচ্ছিক
স্ক্রিনের উপরের প্রান্ত থেকে উইন্ডোটি পিক্সেলে সরানোর জন্য অফসেট। প্যানেলের জন্য এই মান উপেক্ষা করা হয়।
-
প্রস্থ
নম্বর ঐচ্ছিক
উইন্ডোর সাইজ পরিবর্তন করে পিক্সেলে প্রস্থ। প্যানেলের জন্য এই মান উপেক্ষা করা হয়।
-
রিটার্ন
-
Promise<Window>
Chrome 88+ Chrome 148 থেকে browser.*
ইভেন্ট
onBoundsChanged
browser.windows.onBoundsChanged.addListener(
callback: function,
)
কোনও উইন্ডো ছোট বড় করা হলে ফায়ার করা হয়; এই ইভেন্টটি শুধুমাত্র তখনই ডিসপ্যাচ করা হয় যখন নতুন বাউন্ড কমিট করা হয় এবং প্রগতিশীল পরিবর্তনের জন্য নয়।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(window: Window) => void
-
জানলা
-
onCreated
browser.windows.onCreated.addListener(
callback: function,
filters?: object,
)
উইন্ডো তৈরি করা হলে ফায়ার করা হয়।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
Chrome 46+ Chrome 148 থেকে browser.*callbackপ্যারামিটারটি দেখতে এইরকম:(window: Window) => void
-
জানলা
তৈরি করা উইন্ডোর বিবরণ।
-
-
ফিল্টার
অবজেক্ট ঐচ্ছিক
-
windowTypes
যে ধরনের উইন্ডো তৈরি করা হচ্ছে সেটিকে অবশ্যই শর্ত পূরণ করতে হবে। ডিফল্ট হিসেবে এটি
['normal', 'popup']পূরণ করে।
-
onFocusChanged
browser.windows.onFocusChanged.addListener(
callback: function,
filters?: object,
)
বর্তমানে ফোকাস করা উইন্ডো পরিবর্তন হলে ফায়ার করা হয়। সব Chrome উইন্ডো ফোকাস হারিয়ে ফেললে chrome.windows.WINDOW_ID_NONE রিটার্ন করে। মনে রাখবেন: কিছু Linux উইন্ডো ম্যানেজারে, একটি Chrome উইন্ডো থেকে অন্যটিতে পাল্টানোর ঠিক আগে WINDOW_ID_NONE সবসময় পাঠানো হয়।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
Chrome 46+ Chrome 148 থেকে browser.*callbackপ্যারামিটারটি দেখতে এইরকম:(windowId: number) => void
-
windowId
নম্বর
নতুন-ফোকাস করা উইন্ডোর আইডি।
-
-
ফিল্টার
অবজেক্ট ঐচ্ছিক
-
windowTypes
উইন্ডোর ধরন সরিয়ে দেওয়ার জন্য যেসব শর্ত পূরণ করতে হবে। ডিফল্ট হিসেবে এটি
['normal', 'popup']পূরণ করে।
-
onRemoved
browser.windows.onRemoved.addListener(
callback: function,
filters?: object,
)
কোনও উইন্ডো সরানো (বন্ধ করা) হলে ফায়ার করা হয়।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
Chrome 46+ Chrome 148 থেকে browser.*callbackপ্যারামিটারটি দেখতে এইরকম:(windowId: number) => void
-
windowId
নম্বর
সরিয়ে দেওয়া উইন্ডোর আইডি।
-
-
ফিল্টার
অবজেক্ট ঐচ্ছিক
-
windowTypes
উইন্ডোর ধরন সরিয়ে দেওয়ার জন্য যেসব শর্ত পূরণ করতে হবে। ডিফল্ট হিসেবে এটি
['normal', 'popup']পূরণ করে।
-