বর্ণনা
ফ্লাইটে নেভিগেশন অনুরোধের অবস্থা সম্পর্কে বিজ্ঞপ্তি পেতে chrome.webNavigation
API ব্যবহার করুন।
অনুমতি
webNavigation
উদ্ভাসিত
সমস্ত chrome.webNavigation
পদ্ধতি এবং ইভেন্টের জন্য আপনাকে এক্সটেনশন ম্যানিফেস্টে "webNavigation" অনুমতি ঘোষণা করতে হবে৷ যেমন:
{
"name": "My extension",
...
"permissions": [
"webNavigation"
],
...
}
ইভেন্ট অর্ডার
সফলভাবে সম্পন্ন একটি নেভিগেশনের জন্য, ইভেন্টগুলি নিম্নলিখিত ক্রমে গুলি করা হয়:
onBeforeNavigate -> onCommitted -> [onDOMContentLoaded] -> onCompleted
প্রক্রিয়া চলাকালীন যে কোনো ত্রুটি ঘটলে একটি onErrorOccurred
ইভেন্টে পরিণত হয়। একটি নির্দিষ্ট নেভিগেশনের জন্য, onErrorOccurred
এর পরে আর কোনো ইভেন্ট চালানো হয়নি।
যদি একটি নেভিগেটিং ফ্রেমে সাবফ্রেম থাকে, তাহলে এর onCommitted
এর যেকোনো শিশুদের onBeforeNavigate
এর আগে বহিস্কার করা হয়; যখন onCompleted
এর বাচ্চাদের সব onCompleted
এর পরে বহিস্কার করা হয়।
যদি একটি ফ্রেমের রেফারেন্স ফ্র্যাগমেন্ট পরিবর্তন করা হয়, তাহলে একটি onReferenceFragmentUpdated
ইভেন্ট ফায়ার করা হয়। এই ইভেন্টটি onDOMContentLoaded
এর পরেও, এমনকি onCompleted
পরেও যেকোন সময় ফায়ার হতে পারে।
যদি ইতিহাস API একটি ফ্রেমের অবস্থা পরিবর্তন করতে ব্যবহার করা হয় (উদাহরণস্বরূপ history.pushState()
ব্যবহার করে, একটি onHistoryStateUpdated
ইভেন্ট ফায়ার করা হয়৷ এই ইভেন্টটি onDOMContentLoaded
এর পরে যেকোনো সময় ফায়ার হতে পারে৷
যদি একটি নেভিগেশন ব্যাক ফরওয়ার্ড ক্যাশে থেকে একটি পৃষ্ঠা পুনরুদ্ধার করে, তাহলে onDOMContentLoaded
ইভেন্টটি চালু হবে না। ইভেন্টটি বরখাস্ত করা হয়নি কারণ যখন পৃষ্ঠাটি প্রথম পরিদর্শন করা হয়েছিল তখন বিষয়বস্তু ইতিমধ্যেই লোড করা হয়েছে৷
যদি একটি নেভিগেশন ক্রোম ইনস্ট্যান্ট বা ইনস্ট্যান্ট পৃষ্ঠাগুলির মাধ্যমে ট্রিগার করা হয়, তাহলে একটি সম্পূর্ণ লোড হওয়া পৃষ্ঠাটি বর্তমান ট্যাবে অদলবদল করা হয়৷ সেই ক্ষেত্রে, একটি onTabReplaced
ইভেন্ট বহিস্কার করা হয়।
ওয়েব রিকোয়েস্ট ইভেন্টের সাথে সম্পর্ক
WebRequest API এর ইভেন্ট এবং webNavigation API এর ইভেন্টগুলির মধ্যে কোন সংজ্ঞায়িত ক্রম নেই। এটা সম্ভব যে ওয়েব রিকোয়েস্ট ইভেন্টগুলি এখনও সেই ফ্রেমের জন্য প্রাপ্ত হয় যা ইতিমধ্যেই একটি নতুন নেভিগেশন শুরু করেছে, অথবা নেটওয়ার্ক সংস্থানগুলি ইতিমধ্যে সম্পূর্ণরূপে লোড হওয়ার পরেই একটি নেভিগেশন এগিয়ে যায়৷
সাধারণভাবে, ওয়েবনেভিগেশন ইভেন্টগুলি UI-তে প্রদর্শিত নেভিগেশন অবস্থার সাথে ঘনিষ্ঠভাবে সম্পর্কিত, যখন webRequest ইভেন্টগুলি নেটওয়ার্ক স্ট্যাকের অবস্থার সাথে মিলে যায় যা সাধারণত ব্যবহারকারীর কাছে অস্বচ্ছ।
ট্যাব আইডি
সমস্ত নেভিগেটিং ট্যাবগুলি Chrome-এর UI-তে প্রকৃত ট্যাবের সাথে সঙ্গতিপূর্ণ নয়, যেমন, একটি ট্যাব যা আগে থেকে রেন্ডার করা হচ্ছে৷ এই ধরনের ট্যাবগুলি tabs API-এর মাধ্যমে অ্যাক্সেসযোগ্য নয় এবং আপনি webNavigation.getFrame
বা webNavigation.getAllFrames
এর মাধ্যমে তাদের সম্পর্কে তথ্যের জন্য অনুরোধ করতে পারবেন না। একবার এই ধরনের একটি ট্যাব অদলবদল করা হলে, একটি onTabReplaced
ইভেন্ট ফায়ার করা হয় এবং সেগুলি এই APIগুলির মাধ্যমে অ্যাক্সেসযোগ্য হয়ে ওঠে।
টাইমস্ট্যাম্প
এটি লক্ষ্য করা গুরুত্বপূর্ণ যে OS-এর স্বতন্ত্র ক্রোম প্রক্রিয়াগুলির পরিচালনার কিছু প্রযুক্তিগত অদ্ভুততার কারণে ঘড়িটি ব্রাউজার এবং এক্সটেনশন প্রক্রিয়াগুলির মধ্যে তির্যক হতে পারে। এর মানে হল WebNavigation এর ইভেন্টের timeStamp
সম্পত্তি শুধুমাত্র অভ্যন্তরীণভাবে সামঞ্জস্যপূর্ণ হওয়ার নিশ্চয়তা। একটি ইভেন্টকে অন্য ইভেন্টের সাথে তুলনা করলে আপনি তাদের মধ্যে সঠিক অফসেট পাবেন, কিন্তু এক্সটেনশনের ভিতরে বর্তমান সময়ের সাথে (new Date()).getTime()
এর মাধ্যমে, উদাহরণস্বরূপ) তাদের তুলনা করা অপ্রত্যাশিত ফলাফল দিতে পারে।
ফ্রেম আইডি
একটি ট্যাবের মধ্যে থাকা ফ্রেমগুলি একটি ফ্রেম আইডি দ্বারা চিহ্নিত করা যেতে পারে। প্রধান ফ্রেমের ফ্রেম আইডি সবসময় 0 হয়, চাইল্ড ফ্রেমের আইডি একটি ধনাত্মক সংখ্যা। একবার একটি নথি একটি ফ্রেমে নির্মিত হলে, তার ফ্রেম আইডি নথির জীবদ্দশায় স্থির থাকে। Chrome 49 অনুযায়ী, এই আইডিটি ফ্রেমের আজীবনের জন্যও স্থির থাকে (একাধিক নেভিগেশন জুড়ে)।
ক্রোমের বহু-প্রক্রিয়া প্রকৃতির কারণে, একটি ট্যাব একটি ওয়েব পৃষ্ঠার উৎস এবং গন্তব্য রেন্ডার করতে বিভিন্ন প্রক্রিয়া ব্যবহার করতে পারে। অতএব, যদি একটি নেভিগেশন একটি নতুন প্রক্রিয়ায় সঞ্চালিত হয়, আপনি নতুন এবং পুরানো উভয় পৃষ্ঠা থেকে ইভেন্টগুলি পেতে পারেন যতক্ষণ না নতুন নেভিগেশন প্রতিশ্রুতিবদ্ধ হয় (অর্থাৎ onCommitted
ইভেন্টটি নতুন প্রধান ফ্রেমের জন্য পাঠানো হয়)। অন্য কথায়, একই frameId
সহ ওয়েবনেভিগেশন ইভেন্টের একাধিক মুলতুবি থাকা সম্ভব। processId
কী দ্বারা ক্রমগুলিকে আলাদা করা যায়।
এছাড়াও নোট করুন যে একটি অস্থায়ী লোডের সময় প্রক্রিয়াটি বেশ কয়েকবার স্যুইচ করা যেতে পারে। এটি ঘটে যখন লোড একটি ভিন্ন সাইটে পুনঃনির্দেশিত হয়। এই ক্ষেত্রে, আপনি চূড়ান্ত onCommitted
ইভেন্ট না পাওয়া পর্যন্ত বারবার onBeforeNavigate
এবং onErrorOccurred
ইভেন্ট পাবেন।
আরেকটি ধারণা যা এক্সটেনশনের সাথে সমস্যাযুক্ত তা হল ফ্রেমের জীবনচক্র। একটি ফ্রেম একটি নথি হোস্ট করে (যা একটি প্রতিশ্রুতিবদ্ধ URL এর সাথে যুক্ত)। দস্তাবেজটি পরিবর্তন করতে পারে (নেভিগেট করে বলুন) কিন্তু ফ্রেমআইডি হবে না, এবং তাই শুধুমাত্র ফ্রেমআইডের সাথে একটি নির্দিষ্ট নথিতে কিছু ঘটেছে তা যুক্ত করা কঠিন। আমরা একটি ডকুমেন্টআইডির একটি ধারণা প্রবর্তন করছি যা প্রতি নথিতে একটি অনন্য শনাক্তকারী। যদি একটি ফ্রেম নেভিগেট করা হয় এবং একটি নতুন নথি খোলে শনাক্তকারী পরিবর্তন হবে। পৃষ্ঠাগুলি কখন তাদের জীবনচক্রের অবস্থা (প্রি-রেন্ডার/সক্রিয়/ক্যাশেডের মধ্যে) পরিবর্তন করে তা নির্ধারণের জন্য এই ক্ষেত্রটি কার্যকর কারণ এটি একই থাকে৷
রূপান্তর প্রকার এবং যোগ্যতা
webNavigation API-এর onCommitted
ইভেন্টে একটি transitionType
এবং একটি transitionQualifiers
বৈশিষ্ট্য রয়েছে। ট্রানজিশনের ধরনটি হিস্ট্রি এপিআই- এ ব্যবহৃত একই রকম যা বর্ণনা করে যে ব্রাউজারটি কীভাবে এই নির্দিষ্ট ইউআরএলে নেভিগেট করেছে। এছাড়াও, বেশ কয়েকটি ট্রানজিশন কোয়ালিফায়ার ফেরত দেওয়া যেতে পারে যা নেভিগেশনকে আরও সংজ্ঞায়িত করে।
নিম্নলিখিত ট্রানজিশন কোয়ালিফায়ার বিদ্যমান:
ট্রানজিশন কোয়ালিফায়ার | বর্ণনা |
---|---|
"ক্লায়েন্ট_পুনঃনির্দেশ" | নেভিগেশনের সময় পৃষ্ঠায় জাভাস্ক্রিপ্ট বা মেটা রিফ্রেশ ট্যাগের কারণে এক বা একাধিক পুনঃনির্দেশ ঘটেছে। |
"সার্ভার_পুনঃনির্দেশ" | সার্ভার থেকে পাঠানো HTTP শিরোনাম দ্বারা সৃষ্ট এক বা একাধিক পুনঃনির্দেশ নেভিগেশনের সময় ঘটেছে। |
"আগামী_ব্যাক" | ব্যবহারকারী ন্যাভিগেশন শুরু করতে ফরোয়ার্ড বা ব্যাক বোতাম ব্যবহার করেন। |
"from_address_bar" | ব্যবহারকারী ঠিকানা বার (ওরফে অম্নিবক্স) থেকে নেভিগেশন শুরু করেছেন। |
উদাহরণ
এই APIটি চেষ্টা করতে, chrome-extension-samples repository থেকে webNavigation API উদাহরণটি ইনস্টল করুন৷
প্রকারভেদ
TransitionQualifier
এনাম
"ক্লায়েন্ট_পুনঃনির্দেশ" "সার্ভার_পুনঃনির্দেশ" "আগামী_ব্যাক" "from_address_bar"
TransitionType
নেভিগেশন কারণ. ইতিহাস API-এ সংজ্ঞায়িত একই রূপান্তর প্রকার ব্যবহার করা হয়। ইতিহাস API- এ সংজ্ঞায়িত করা " "auto_toplevel"
"start_page"
" ছাড়া এগুলি একই রূপান্তর প্রকার (পিছন দিকে সামঞ্জস্যের জন্য)।
এনাম
"লিঙ্ক" "টাইপ করা" "অটো_বুকমার্ক" "অটো_সাবফ্রেম" "ম্যানুয়াল_সাবফ্রেম" "উত্পন্ন" "শুরু_পৃষ্ঠা" "ফর্ম_জমা দিন" "পুনরায় লোড" "কীওয়ার্ড" "কীওয়ার্ড_জেনারেটেড"
পদ্ধতি
getAllFrames()
chrome.webNavigation.getAllFrames(
details: object,
callback?: function,
)
একটি প্রদত্ত ট্যাবের সমস্ত ফ্রেম সম্পর্কে তথ্য পুনরুদ্ধার করে।
পরামিতি
- বিস্তারিত
বস্তু
সমস্ত ফ্রেম পুনরুদ্ধার করার জন্য ট্যাব সম্পর্কে তথ্য।
- ট্যাবআইডি
সংখ্যা
ট্যাবের আইডি।
- কলব্যাক
ফাংশন ঐচ্ছিক
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(details?: object[]) => void
- বিস্তারিত
বস্তু[] ঐচ্ছিক
প্রদত্ত ট্যাবে ফ্রেমের একটি তালিকা, নির্দিষ্ট ট্যাব আইডি অবৈধ হলে শূন্য।
- ডকুমেন্ট আইডি
স্ট্রিং
Chrome 106+নথির একটি UUID লোড হয়েছে৷
- নথি জীবনচক্রChrome 106+
নথিটি যে জীবনচক্রে রয়েছে৷
- ত্রুটি ঘটেছে
বুলিয়ান
সত্য যদি এই ফ্রেমের শেষ নেভিগেশনটি একটি ত্রুটি দ্বারা বাধাপ্রাপ্ত হয়, যেমন onErrorEccurred ইভেন্টটি ফায়ার করা হয়।
- ফ্রেমআইডি
সংখ্যা
ফ্রেমের আইডি। 0 নির্দেশ করে যে এটি প্রধান ফ্রেম; একটি ইতিবাচক মান একটি সাবফ্রেমের আইডি নির্দেশ করে।
- ফ্রেম টাইপChrome 106+
যে ধরনের ফ্রেমে নেভিগেশন হয়েছে।
- parentDocumentId
স্ট্রিং ঐচ্ছিক
Chrome 106+এই ফ্রেমের মালিক নথির একটি UUID। অভিভাবক না থাকলে এটি সেট করা হয় না।
- parentFrameId
সংখ্যা
অভিভাবক ফ্রেমের আইডি, অথবা
-1
যদি এটি প্রধান ফ্রেম হয়। - প্রসেসআইডি
সংখ্যা
এই ফ্রেমের জন্য রেন্ডারার চালানোর প্রক্রিয়ার আইডি।
- url
স্ট্রিং
বর্তমানে এই ফ্রেমের সাথে যুক্ত URL।
রিটার্নস
প্রতিশ্রুতি<অবজেক্ট[] | undefined>
Chrome 93+প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।
getFrame()
chrome.webNavigation.getFrame(
details: object,
callback?: function,
)
প্রদত্ত ফ্রেম সম্পর্কে তথ্য পুনরুদ্ধার করে। একটি ফ্রেম একটি ওয়েব পৃষ্ঠার একটি <iframe> বা একটি <frame> বোঝায় এবং একটি ট্যাব ID এবং একটি ফ্রেম ID দ্বারা চিহ্নিত করা হয়।
পরামিতি
- বিস্তারিত
বস্তু
ফ্রেম সম্পর্কে তথ্য সম্পর্কে তথ্য পুনরুদ্ধার করতে.
- ডকুমেন্ট আইডি
স্ট্রিং ঐচ্ছিক
Chrome 106+নথির UUID. ফ্রেমআইডি এবং/অথবা ট্যাবআইডি সরবরাহ করা হলে সেগুলি প্রদত্ত নথি ID দ্বারা পাওয়া নথির সাথে মেলে যাচাই করা হবে।
- ফ্রেমআইডি
সংখ্যা ঐচ্ছিক
প্রদত্ত ট্যাবে ফ্রেমের আইডি।
- প্রসেসআইডি
সংখ্যা ঐচ্ছিক
ক্রোম 49 থেকে অবরুদ্ধফ্রেমগুলি এখন তাদের ট্যাব আইডি এবং ফ্রেম আইডি দ্বারা স্বতন্ত্রভাবে চিহ্নিত করা হয়; প্রক্রিয়া আইডি আর প্রয়োজন নেই এবং তাই উপেক্ষা করা হয়।
এই ট্যাবের জন্য রেন্ডারার চালানোর প্রক্রিয়ার আইডি।
- ট্যাবআইডি
সংখ্যা ঐচ্ছিক
যে ট্যাবে ফ্রেম আছে তার আইডি।
- কলব্যাক
ফাংশন ঐচ্ছিক
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(details?: object) => void
- বিস্তারিত
বস্তু ঐচ্ছিক
অনুরোধ করা ফ্রেম সম্পর্কে তথ্য, যদি নির্দিষ্ট ফ্রেম আইডি এবং/অথবা ট্যাব আইডি অবৈধ হয় তাহলে শূন্য।
- ডকুমেন্ট আইডি
স্ট্রিং
Chrome 106+নথির একটি UUID লোড হয়েছে৷
- নথি জীবনচক্রChrome 106+
নথিটি যে জীবনচক্রে রয়েছে৷
- ত্রুটি ঘটেছে
বুলিয়ান
সত্য যদি এই ফ্রেমের শেষ নেভিগেশনটি একটি ত্রুটি দ্বারা বাধাপ্রাপ্ত হয়, যেমন onErrorEccurred ইভেন্টটি ফায়ার করা হয়।
- ফ্রেম টাইপChrome 106+
যে ধরনের ফ্রেমে নেভিগেশন হয়েছে।
- parentDocumentId
স্ট্রিং ঐচ্ছিক
Chrome 106+এই ফ্রেমের মালিক নথির একটি UUID। অভিভাবক না থাকলে এটি সেট করা হয় না।
- parentFrameId
সংখ্যা
অভিভাবক ফ্রেমের আইডি, অথবা
-1
যদি এটি প্রধান ফ্রেম হয়। - url
স্ট্রিং
এই ফ্রেমের সাথে বর্তমানে যুক্ত ইউআরএল, যদি ফ্রেমআইডি দ্বারা চিহ্নিত ফ্রেমটি প্রদত্ত ট্যাবের এক পর্যায়ে বিদ্যমান থাকে। একটি URL একটি প্রদত্ত ফ্রেমআইডি-এর সাথে যুক্ত হওয়ার বিষয়টি বোঝায় না যে সংশ্লিষ্ট ফ্রেমটি এখনও বিদ্যমান।
রিটার্নস
প্রতিশ্রুতি <অবজেক্ট | undefined>
Chrome 93+প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।
ঘটনা
onBeforeNavigate
chrome.webNavigation.onBeforeNavigate.addListener(
callback: function,
filters?: object,
)
যখন একটি নেভিগেশন ঘটতে চলেছে তখন গুলি করা হয়েছে৷
পরামিতি
ফাংশন
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(details: object) => void
বস্তু
- Chrome 106+
নথিটি যে জীবনচক্রে রয়েছে৷
সংখ্যা
0 ট্যাব বিষয়বস্তু উইন্ডোতে নেভিগেশন ঘটতে নির্দেশ করে; একটি ইতিবাচক মান একটি সাবফ্রেমে নেভিগেশন নির্দেশ করে। ফ্রেম আইডি একটি প্রদত্ত ট্যাব এবং প্রক্রিয়ার জন্য অনন্য।
- Chrome 106+
যে ধরনের ফ্রেমে নেভিগেশন হয়েছে।
স্ট্রিং ঐচ্ছিক
Chrome 106+এই ফ্রেমের মালিক নথির একটি UUID। অভিভাবক না থাকলে এটি সেট করা হয় না।
সংখ্যা
অভিভাবক ফ্রেমের আইডি, অথবা
-1
যদি এটি প্রধান ফ্রেম হয়।সংখ্যা
Chrome 50 থেকে অবরুদ্ধএই ইভেন্টের জন্য processId আর সেট করা নেই, যেহেতু প্রসেসটি ফলাফল নথি রেন্ডার করবে তা onCommit পর্যন্ত জানা যায় না।
-1 এর মান।
সংখ্যা
যে ট্যাবে নেভিগেশন ঘটতে চলেছে তার ID৷
সংখ্যা
যে সময় ব্রাউজারটি নেভিগেশন শুরু করতে চলেছে, সেই যুগ থেকে মিলিসেকেন্ডে।
স্ট্রিং
বস্তু ঐচ্ছিক
যে শর্তাবলীতে URL নেভিগেট করা হচ্ছে তা অবশ্যই পূরণ করতে হবে। UrlFilter-এর 'স্কিম' এবং 'পোর্ট' ক্ষেত্রগুলি এই ইভেন্টের জন্য উপেক্ষা করা হয়েছে।
onCommitted
chrome.webNavigation.onCommitted.addListener(
callback: function,
filters?: object,
)
একটি নেভিগেশন প্রতিশ্রুতিবদ্ধ হলে বহিস্কার করা হয়. নথিটি (এবং এটি যে সংস্থানগুলিকে নির্দেশ করে, যেমন ছবি এবং সাবফ্রেমগুলি) এখনও ডাউনলোড করা হতে পারে, তবে নথির অন্তত অংশটি সার্ভার থেকে প্রাপ্ত হয়েছে এবং ব্রাউজারটি নতুন নথিতে স্যুইচ করার সিদ্ধান্ত নিয়েছে৷
পরামিতি
- কলব্যাক
ফাংশন
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(details: object) => void
- বিস্তারিত
বস্তু
- ডকুমেন্ট আইডি
স্ট্রিং
Chrome 106+নথির একটি UUID লোড হয়েছে৷
- নথি জীবনচক্রChrome 106+
নথিটি যে জীবনচক্রে রয়েছে৷
- ফ্রেমআইডি
সংখ্যা
0 ট্যাব বিষয়বস্তু উইন্ডোতে নেভিগেশন ঘটতে নির্দেশ করে; একটি ইতিবাচক মান একটি সাবফ্রেমে নেভিগেশন নির্দেশ করে। ফ্রেম আইডি একটি ট্যাবের মধ্যে অনন্য।
- ফ্রেম টাইপChrome 106+
যে ধরনের ফ্রেমে নেভিগেশন হয়েছে।
- parentDocumentId
স্ট্রিং ঐচ্ছিক
Chrome 106+এই ফ্রেমের মালিক নথির একটি UUID। অভিভাবক না থাকলে এটি সেট করা হয় না।
- parentFrameId
সংখ্যা
Chrome 74+অভিভাবক ফ্রেমের আইডি, অথবা
-1
যদি এটি প্রধান ফ্রেম হয়। - প্রসেসআইডি
সংখ্যা
এই ফ্রেমের জন্য রেন্ডারার চালানোর প্রক্রিয়ার আইডি।
- ট্যাবআইডি
সংখ্যা
যে ট্যাবে নেভিগেশন হয় তার ID।
- টাইমস্ট্যাম্প
সংখ্যা
যে সময় নেভিগেশন প্রতিশ্রুতিবদ্ধ হয়েছিল, সেই যুগ থেকে মিলিসেকেন্ডে।
- ট্রানজিশন কোয়ালিফায়ার
ট্রানজিশন কোয়ালিফায়ারদের একটি তালিকা।
- ট্রানজিশন টাইপ
নেভিগেশন কারণ.
- url
স্ট্রিং
- ফিল্টার
বস্তু ঐচ্ছিক
- url
যে শর্তাবলীতে URL নেভিগেট করা হচ্ছে তা অবশ্যই পূরণ করতে হবে। UrlFilter-এর 'স্কিম' এবং 'পোর্ট' ক্ষেত্রগুলি এই ইভেন্টের জন্য উপেক্ষা করা হয়েছে।
onCompleted
chrome.webNavigation.onCompleted.addListener(
callback: function,
filters?: object,
)
একটি নথি, যে সংস্থানগুলিকে এটি উল্লেখ করে, সম্পূর্ণরূপে লোড এবং আরম্ভ করা হলে বহিস্কার করা হয়৷
পরামিতি
- কলব্যাক
ফাংশন
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(details: object) => void
- বিস্তারিত
বস্তু
- ডকুমেন্ট আইডি
স্ট্রিং
Chrome 106+নথির একটি UUID লোড হয়েছে৷
- নথি জীবনচক্রChrome 106+
নথিটি যে জীবনচক্রে রয়েছে৷
- ফ্রেমআইডি
সংখ্যা
0 ট্যাব বিষয়বস্তু উইন্ডোতে নেভিগেশন ঘটতে নির্দেশ করে; একটি ইতিবাচক মান একটি সাবফ্রেমে নেভিগেশন নির্দেশ করে। ফ্রেম আইডি একটি ট্যাবের মধ্যে অনন্য।
- ফ্রেম টাইপChrome 106+
যে ধরনের ফ্রেমে নেভিগেশন হয়েছে।
- parentDocumentId
স্ট্রিং ঐচ্ছিক
Chrome 106+এই ফ্রেমের মালিক নথির একটি UUID। অভিভাবক না থাকলে এটি সেট করা হয় না।
- parentFrameId
সংখ্যা
Chrome 74+অভিভাবক ফ্রেমের আইডি, অথবা
-1
যদি এটি প্রধান ফ্রেম হয়। - প্রসেসআইডি
সংখ্যা
এই ফ্রেমের জন্য রেন্ডারার চালানোর প্রক্রিয়ার আইডি।
- ট্যাবআইডি
সংখ্যা
যে ট্যাবে নেভিগেশন হয় তার ID।
- টাইমস্ট্যাম্প
সংখ্যা
যুগ থেকে মিলিসেকেন্ডে নথিটি লোড করা শেষ হওয়ার সময়।
- url
স্ট্রিং
- ফিল্টার
বস্তু ঐচ্ছিক
- url
যে শর্তাবলীতে URL নেভিগেট করা হচ্ছে তা অবশ্যই পূরণ করতে হবে। UrlFilter-এর 'স্কিম' এবং 'পোর্ট' ক্ষেত্রগুলি এই ইভেন্টের জন্য উপেক্ষা করা হয়েছে।
onCreatedNavigationTarget
chrome.webNavigation.onCreatedNavigationTarget.addListener(
callback: function,
filters?: object,
)
একটি নতুন উইন্ডো, বা একটি বিদ্যমান উইন্ডোতে একটি নতুন ট্যাব, একটি নেভিগেশন হোস্ট করার জন্য তৈরি করা হলে গুলি করা হয়৷
পরামিতি
ফাংশন
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(details: object) => void
বস্তু
সংখ্যা
sourceTabId সহ ফ্রেমের আইডি যেখানে নেভিগেশন ট্রিগার করা হয়েছে। 0 প্রধান ফ্রেম নির্দেশ করে।
সংখ্যা
সোর্স ফ্রেমের জন্য রেন্ডারার চালানোর প্রক্রিয়ার আইডি।
সংখ্যা
যে ট্যাবে নেভিগেশন ট্রিগার করা হয়েছে তার ID।
সংখ্যা
ট্যাবের আইডি যেখানে url খোলা হয়েছে
সংখ্যা
যে সময় ব্রাউজারটি একটি নতুন ভিউ তৈরি করতে চলেছে, সেই যুগ থেকে মিলিসেকেন্ডে।
স্ট্রিং
নতুন উইন্ডোতে যে URLটি খুলতে হবে।
বস্তু ঐচ্ছিক
যে শর্তাবলীতে URL নেভিগেট করা হচ্ছে তা অবশ্যই পূরণ করতে হবে। UrlFilter-এর 'স্কিম' এবং 'পোর্ট' ক্ষেত্রগুলি এই ইভেন্টের জন্য উপেক্ষা করা হয়েছে।
onDOMContentLoaded
chrome.webNavigation.onDOMContentLoaded.addListener(
callback: function,
filters?: object,
)
পৃষ্ঠার DOM সম্পূর্ণরূপে নির্মিত হলে ফায়ার করা হয়, কিন্তু উল্লেখিত সংস্থানগুলি লোড করা শেষ নাও হতে পারে৷
পরামিতি
- কলব্যাক
ফাংশন
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(details: object) => void
- বিস্তারিত
বস্তু
- ডকুমেন্ট আইডি
স্ট্রিং
Chrome 106+নথির একটি UUID লোড হয়েছে৷
- নথি জীবনচক্রChrome 106+
নথিটি যে জীবনচক্রে রয়েছে৷
- ফ্রেমআইডি
সংখ্যা
0 ট্যাব বিষয়বস্তু উইন্ডোতে নেভিগেশন ঘটতে নির্দেশ করে; একটি ইতিবাচক মান একটি সাবফ্রেমে নেভিগেশন নির্দেশ করে। ফ্রেম আইডি একটি ট্যাবের মধ্যে অনন্য।
- ফ্রেম টাইপChrome 106+
যে ধরনের ফ্রেমে নেভিগেশন হয়েছে।
- parentDocumentId
স্ট্রিং ঐচ্ছিক
Chrome 106+এই ফ্রেমের মালিক নথির একটি UUID। অভিভাবক না থাকলে এটি সেট করা হয় না।
- parentFrameId
সংখ্যা
Chrome 74+অভিভাবক ফ্রেমের আইডি, অথবা
-1
যদি এটি প্রধান ফ্রেম হয়। - প্রসেসআইডি
সংখ্যা
এই ফ্রেমের জন্য রেন্ডারার চালানোর প্রক্রিয়ার আইডি।
- ট্যাবআইডি
সংখ্যা
যে ট্যাবে নেভিগেশন হয় তার ID।
- টাইমস্ট্যাম্প
সংখ্যা
যে সময় পৃষ্ঠার DOM সম্পূর্ণরূপে তৈরি করা হয়েছিল, সেই যুগ থেকে মিলিসেকেন্ডে।
- url
স্ট্রিং
- ফিল্টার
বস্তু ঐচ্ছিক
- url
যে শর্তাবলীতে URL নেভিগেট করা হচ্ছে তা অবশ্যই পূরণ করতে হবে। UrlFilter-এর 'স্কিম' এবং 'পোর্ট' ক্ষেত্রগুলি এই ইভেন্টের জন্য উপেক্ষা করা হয়েছে।
onErrorOccurred
chrome.webNavigation.onErrorOccurred.addListener(
callback: function,
filters?: object,
)
একটি ত্রুটি ঘটলে এবং নেভিগেশন বাতিল করা হলে বহিস্কার করা হয়। এটি ঘটতে পারে যদি হয় একটি নেটওয়ার্ক ত্রুটি ঘটেছে, অথবা ব্যবহারকারী নেভিগেশন বাতিল করেছে৷
পরামিতি
- কলব্যাক
ফাংশন
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(details: object) => void
- বিস্তারিত
বস্তু
- ডকুমেন্ট আইডি
স্ট্রিং
Chrome 106+নথির একটি UUID লোড হয়েছে৷
- নথি জীবনচক্রChrome 106+
নথিটি যে জীবনচক্রে রয়েছে৷
- ত্রুটি
স্ট্রিং
ত্রুটি বিবরণ.
- ফ্রেমআইডি
সংখ্যা
0 ট্যাব বিষয়বস্তু উইন্ডোতে নেভিগেশন ঘটতে নির্দেশ করে; একটি ইতিবাচক মান একটি সাবফ্রেমে নেভিগেশন নির্দেশ করে। ফ্রেম আইডি একটি ট্যাবের মধ্যে অনন্য।
- ফ্রেম টাইপChrome 106+
যে ধরনের ফ্রেমে নেভিগেশন হয়েছে।
- parentDocumentId
স্ট্রিং ঐচ্ছিক
Chrome 106+এই ফ্রেমের মালিক নথির একটি UUID। অভিভাবক না থাকলে এটি সেট করা হয় না।
- parentFrameId
সংখ্যা
Chrome 74+অভিভাবক ফ্রেমের আইডি, অথবা
-1
যদি এটি প্রধান ফ্রেম হয়। - প্রসেসআইডি
সংখ্যা
Chrome 50 থেকে অবরুদ্ধএই ইভেন্টের জন্য processId আর সেট করা নেই।
-1 এর মান।
- ট্যাবআইডি
সংখ্যা
যে ট্যাবে নেভিগেশন হয় তার ID।
- টাইমস্ট্যাম্প
সংখ্যা
যে সময়ে ত্রুটি ঘটেছে, সেই যুগ থেকে মিলিসেকেন্ডে।
- url
স্ট্রিং
- ফিল্টার
বস্তু ঐচ্ছিক
- url
যে শর্তাবলীতে URL নেভিগেট করা হচ্ছে তা অবশ্যই পূরণ করতে হবে। UrlFilter-এর 'স্কিম' এবং 'পোর্ট' ক্ষেত্রগুলি এই ইভেন্টের জন্য উপেক্ষা করা হয়েছে।
onHistoryStateUpdated
chrome.webNavigation.onHistoryStateUpdated.addListener(
callback: function,
filters?: object,
)
ফ্রেমের ইতিহাস একটি নতুন ইউআরএলে আপডেট করা হলে ফায়ার করা হয়েছে। সেই ফ্রেমের জন্য ভবিষ্যতের সমস্ত ইভেন্ট আপডেট করা URL ব্যবহার করবে৷
পরামিতি
- কলব্যাক
ফাংশন
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(details: object) => void
- বিস্তারিত
বস্তু
- ডকুমেন্ট আইডি
স্ট্রিং
Chrome 106+নথির একটি UUID লোড হয়েছে৷
- নথি জীবনচক্রChrome 106+
নথিটি যে জীবনচক্রে রয়েছে৷
- ফ্রেমআইডি
সংখ্যা
0 ট্যাব বিষয়বস্তু উইন্ডোতে নেভিগেশন ঘটতে নির্দেশ করে; একটি ইতিবাচক মান একটি সাবফ্রেমে নেভিগেশন নির্দেশ করে। ফ্রেম আইডি একটি ট্যাবের মধ্যে অনন্য।
- ফ্রেম টাইপChrome 106+
যে ধরনের ফ্রেমে নেভিগেশন হয়েছে।
- parentDocumentId
স্ট্রিং ঐচ্ছিক
Chrome 106+এই ফ্রেমের মালিক নথির একটি UUID। অভিভাবক না থাকলে এটি সেট করা হয় না।
- parentFrameId
সংখ্যা
Chrome 74+অভিভাবক ফ্রেমের আইডি, অথবা
-1
যদি এটি প্রধান ফ্রেম হয়। - প্রসেসআইডি
সংখ্যা
এই ফ্রেমের জন্য রেন্ডারার চালানোর প্রক্রিয়ার আইডি।
- ট্যাবআইডি
সংখ্যা
যে ট্যাবে নেভিগেশন হয় তার ID।
- টাইমস্ট্যাম্প
সংখ্যা
যে সময় নেভিগেশন প্রতিশ্রুতিবদ্ধ হয়েছিল, সেই যুগ থেকে মিলিসেকেন্ডে।
- ট্রানজিশন কোয়ালিফায়ার
ট্রানজিশন কোয়ালিফায়ারদের একটি তালিকা।
- ট্রানজিশন টাইপ
নেভিগেশন কারণ.
- url
স্ট্রিং
- ফিল্টার
বস্তু ঐচ্ছিক
- url
যে শর্তাবলীতে URL নেভিগেট করা হচ্ছে তা অবশ্যই পূরণ করতে হবে। UrlFilter-এর 'স্কিম' এবং 'পোর্ট' ক্ষেত্রগুলি এই ইভেন্টের জন্য উপেক্ষা করা হয়েছে।
onReferenceFragmentUpdated
chrome.webNavigation.onReferenceFragmentUpdated.addListener(
callback: function,
filters?: object,
)
একটি ফ্রেমের রেফারেন্স ফ্র্যাগমেন্ট আপডেট করা হলে ফায়ার করা হয়েছে৷ সেই ফ্রেমের জন্য ভবিষ্যতের সমস্ত ইভেন্ট আপডেট করা URL ব্যবহার করবে৷
পরামিতি
- কলব্যাক
ফাংশন
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(details: object) => void
- বিস্তারিত
বস্তু
- ডকুমেন্ট আইডি
স্ট্রিং
Chrome 106+নথির একটি UUID লোড হয়েছে৷
- নথি জীবনচক্রChrome 106+
নথিটি যে জীবনচক্রে রয়েছে৷
- ফ্রেমআইডি
সংখ্যা
0 ট্যাব বিষয়বস্তু উইন্ডোতে নেভিগেশন ঘটতে নির্দেশ করে; একটি ইতিবাচক মান একটি সাবফ্রেমে নেভিগেশন নির্দেশ করে। ফ্রেম আইডি একটি ট্যাবের মধ্যে অনন্য।
- ফ্রেম টাইপChrome 106+
যে ধরনের ফ্রেমে নেভিগেশন হয়েছে।
- parentDocumentId
স্ট্রিং ঐচ্ছিক
Chrome 106+এই ফ্রেমের মালিক নথির একটি UUID। অভিভাবক না থাকলে এটি সেট করা হয় না।
- parentFrameId
সংখ্যা
Chrome 74+অভিভাবক ফ্রেমের আইডি, অথবা
-1
যদি এটি প্রধান ফ্রেম হয়। - প্রসেসআইডি
সংখ্যা
এই ফ্রেমের জন্য রেন্ডারার চালানোর প্রক্রিয়ার আইডি।
- ট্যাবআইডি
সংখ্যা
যে ট্যাবে নেভিগেশন হয় তার ID।
- টাইমস্ট্যাম্প
সংখ্যা
যে সময় নেভিগেশন প্রতিশ্রুতিবদ্ধ হয়েছিল, সেই যুগ থেকে মিলিসেকেন্ডে।
- ট্রানজিশন কোয়ালিফায়ার
ট্রানজিশন কোয়ালিফায়ারদের একটি তালিকা।
- ট্রানজিশন টাইপ
নেভিগেশন কারণ.
- url
স্ট্রিং
- ফিল্টার
বস্তু ঐচ্ছিক
- url
যে শর্তাবলীতে URL নেভিগেট করা হচ্ছে তা অবশ্যই পূরণ করতে হবে। UrlFilter-এর 'স্কিম' এবং 'পোর্ট' ক্ষেত্রগুলি এই ইভেন্টের জন্য উপেক্ষা করা হয়েছে।
onTabReplaced
chrome.webNavigation.onTabReplaced.addListener(
callback: function,
)
ট্যাবের বিষয়বস্তু একটি ভিন্ন (সাধারণত পূর্বে প্রি-রেন্ডার করা) ট্যাব দ্বারা প্রতিস্থাপিত হলে ফায়ার করা হয়।
পরামিতি
- কলব্যাক
ফাংশন
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(details: object) => void
- বিস্তারিত
বস্তু
- প্রতিস্থাপিত ট্যাবিআইডি
সংখ্যা
ট্যাবের আইডি যা প্রতিস্থাপন করা হয়েছে।
- ট্যাবআইডি
সংখ্যা
ট্যাবের আইডি যা পুরানো ট্যাব প্রতিস্থাপন করেছে।
- টাইমস্ট্যাম্প
সংখ্যা
যে সময় প্রতিস্থাপন ঘটেছে, সেই যুগ থেকে মিলিসেকেন্ডে।