chrome.webNavigation

বর্ণনা

ফ্লাইটে নেভিগেশন অনুরোধের অবস্থা সম্পর্কে বিজ্ঞপ্তি পেতে 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 ইভেন্টটি চালু হবে না। ইভেন্টটি বরখাস্ত করা হয়নি কারণ যখন পৃষ্ঠাটি প্রথম পরিদর্শন করা হয়েছিল তখন বিষয়বস্তু ইতিমধ্যেই লোড করা হয়েছে৷

যদি Chrome ইনস্ট্যান্ট বা ইনস্ট্যান্ট পেজ ব্যবহার করে কোনো নেভিগেশন ট্রিগার করা হয়, তাহলে একটি সম্পূর্ণ লোড করা পৃষ্ঠা বর্তমান ট্যাবে অদলবদল করা হয়। সেই ক্ষেত্রে, একটি onTabReplaced ইভেন্ট বহিস্কার করা হয়।

ওয়েব রিকোয়েস্ট ইভেন্টের সাথে সম্পর্ক

WebRequest API এর ইভেন্ট এবং webNavigation API এর ইভেন্টগুলির মধ্যে কোন সংজ্ঞায়িত ক্রম নেই। এটা সম্ভব যে ওয়েব রিকোয়েস্ট ইভেন্টগুলি এখনও সেই ফ্রেমের জন্য প্রাপ্ত হয় যা ইতিমধ্যেই একটি নতুন নেভিগেশন শুরু করেছে, অথবা নেটওয়ার্ক সংস্থানগুলি ইতিমধ্যে সম্পূর্ণরূপে লোড হওয়ার পরেই একটি নেভিগেশন এগিয়ে যায়৷

সাধারণভাবে, ওয়েবনেভিগেশন ইভেন্টগুলি UI-তে প্রদর্শিত নেভিগেশন অবস্থার সাথে ঘনিষ্ঠভাবে সম্পর্কিত, যখন webRequest ইভেন্টগুলি নেটওয়ার্ক স্ট্যাকের অবস্থার সাথে মিলে যায় যা সাধারণত ব্যবহারকারীর কাছে অস্বচ্ছ।

ট্যাব আইডি

সমস্ত নেভিগেটিং ট্যাবগুলি Chrome-এর UI-তে প্রকৃত ট্যাবের সাথে সঙ্গতিপূর্ণ নয়, উদাহরণস্বরূপ, একটি ট্যাব যা আগে থেকে রেন্ডার করা হচ্ছে৷ এই ধরনের ট্যাবগুলি ট্যাব API ব্যবহার করে অ্যাক্সেসযোগ্য নয় এবং আপনি webNavigation.getFrame() বা webNavigation.getAllFrames() এ কল করে তাদের সম্পর্কে তথ্যের অনুরোধ করতে পারবেন না৷ একবার এই ধরনের একটি ট্যাব অদলবদল করা হলে, একটি onTabReplaced ইভেন্ট চালু করা হয় এবং সেগুলি এই APIগুলির মাধ্যমে অ্যাক্সেসযোগ্য হয়ে ওঠে।

টাইমস্ট্যাম্প

এটি লক্ষ্য করা গুরুত্বপূর্ণ যে OS-এর স্বতন্ত্র ক্রোম প্রক্রিয়াগুলির পরিচালনার কিছু প্রযুক্তিগত অদ্ভুততার কারণে ঘড়িটি ব্রাউজার এবং এক্সটেনশন প্রক্রিয়াগুলির মধ্যে তির্যক হতে পারে। এর মানে হল WebNavigation ইভেন্ট timeStamp সম্পত্তির timeStamp সম্পত্তি শুধুমাত্র অভ্যন্তরীণভাবে সামঞ্জস্যপূর্ণ হওয়ার নিশ্চয়তা। একটি ইভেন্টকে অন্য ইভেন্টের সাথে তুলনা করলে আপনি তাদের মধ্যে সঠিক অফসেট পাবেন, কিন্তু এক্সটেনশনের ভিতরে বর্তমান সময়ের সাথে তাদের তুলনা করা (উদাহরণস্বরূপ (new Date()).getTime() ব্যবহার করা অপ্রত্যাশিত ফলাফল দিতে পারে।

ফ্রেম আইডি

একটি ট্যাবের মধ্যে থাকা ফ্রেমগুলি একটি ফ্রেম আইডি দ্বারা চিহ্নিত করা যেতে পারে। প্রধান ফ্রেমের ফ্রেম আইডি সবসময় 0 হয়, চাইল্ড ফ্রেমের আইডি একটি ধনাত্মক সংখ্যা। একবার একটি নথি একটি ফ্রেমে নির্মিত হলে, তার ফ্রেম আইডি নথির জীবদ্দশায় স্থির থাকে। Chrome 49 অনুযায়ী, এই আইডিটি ফ্রেমের আজীবনের জন্যও স্থির থাকে (একাধিক নেভিগেশন জুড়ে)।

ক্রোমের বহু-প্রক্রিয়া প্রকৃতির কারণে, একটি ট্যাব একটি ওয়েব পৃষ্ঠার উৎস এবং গন্তব্য রেন্ডার করতে বিভিন্ন প্রক্রিয়া ব্যবহার করতে পারে। অতএব, যদি একটি নেভিগেশন একটি নতুন প্রক্রিয়ায় সঞ্চালিত হয়, আপনি নতুন এবং পুরানো উভয় পৃষ্ঠা থেকে ইভেন্টগুলি পেতে পারেন যতক্ষণ না নতুন নেভিগেশন প্রতিশ্রুতিবদ্ধ হয় (অর্থাৎ onCommitted ইভেন্টটি নতুন প্রধান ফ্রেমের জন্য পাঠানো হয়)। অন্য কথায়, একই frameId সহ ওয়েবনেভিগেশন ইভেন্টের একাধিক মুলতুবি থাকা সম্ভব। processId কী দ্বারা ক্রমগুলিকে আলাদা করা যায়।

এছাড়াও নোট করুন যে একটি অস্থায়ী লোডের সময় প্রক্রিয়াটি বেশ কয়েকবার স্যুইচ করা যেতে পারে। এটি ঘটে যখন লোড একটি ভিন্ন সাইটে পুনঃনির্দেশিত হয়। এই ক্ষেত্রে, আপনি চূড়ান্ত onCommitted ইভেন্ট না পাওয়া পর্যন্ত বারবার onBeforeNavigate এবং onErrorOccurred ইভেন্ট পাবেন।

আরেকটি ধারণা যা এক্সটেনশনের সাথে সমস্যাযুক্ত তা হল ফ্রেমের জীবনচক্র। একটি ফ্রেম একটি নথি হোস্ট করে (যা একটি প্রতিশ্রুতিবদ্ধ URL এর সাথে যুক্ত)। দস্তাবেজটি পরিবর্তন করতে পারে (নেভিগেট করে বলুন) কিন্তু ফ্রেমআইডি হবে না, এবং তাই শুধুমাত্র ফ্রেমআইডের সাথে একটি নির্দিষ্ট নথিতে কিছু ঘটেছে তা যুক্ত করা কঠিন। আমরা একটি ডকুমেন্টআইডির একটি ধারণা প্রবর্তন করছি যা প্রতি নথিতে একটি অনন্য শনাক্তকারী। যদি একটি ফ্রেম নেভিগেট করা হয় এবং একটি নতুন নথি খোলে শনাক্তকারী পরিবর্তন হবে। পৃষ্ঠাগুলি কখন তাদের জীবনচক্রের অবস্থা (প্রি-রেন্ডার/সক্রিয়/ক্যাশেডের মধ্যে) পরিবর্তন করে তা নির্ধারণের জন্য এই ক্ষেত্রটি কার্যকর কারণ এটি একই থাকে৷

রূপান্তর প্রকার এবং যোগ্যতা

webNavigation onCommitted ইভেন্টে একটি transitionType এবং একটি transitionQualifiers বৈশিষ্ট্য রয়েছে। ট্রানজিশনের ধরনটি হিস্ট্রি এপিআই- এ ব্যবহৃত একই রকম যা বর্ণনা করে যে ব্রাউজারটি কীভাবে এই নির্দিষ্ট ইউআরএলে নেভিগেট করেছে। এছাড়াও, বেশ কয়েকটি ট্রানজিশন কোয়ালিফায়ার ফেরত দেওয়া যেতে পারে যা নেভিগেশনকে আরও সংজ্ঞায়িত করে।

নিম্নলিখিত ট্রানজিশন কোয়ালিফায়ার বিদ্যমান:

ট্রানজিশন কোয়ালিফায়ার বর্ণনা
"ক্লায়েন্ট_পুনঃনির্দেশ" নেভিগেশনের সময় পৃষ্ঠায় জাভাস্ক্রিপ্ট বা মেটা রিফ্রেশ ট্যাগের কারণে এক বা একাধিক পুনঃনির্দেশ ঘটেছে।
"সার্ভার_পুনঃনির্দেশ" সার্ভার থেকে পাঠানো HTTP শিরোনাম দ্বারা সৃষ্ট এক বা একাধিক পুনঃনির্দেশ নেভিগেশনের সময় ঘটেছে।
"আগামী_ব্যাক" ব্যবহারকারী ন্যাভিগেশন শুরু করতে ফরোয়ার্ড বা ব্যাক বোতাম ব্যবহার করেন।
"from_address_bar" ব্যবহারকারী ঠিকানা বার (ওরফে অম্নিবক্স) থেকে নেভিগেশন শুরু করেছেন।

উদাহরণ

এই APIটি চেষ্টা করতে, chrome-extension-samples repository থেকে webNavigation API উদাহরণটি ইনস্টল করুন৷

প্রকারভেদ

TransitionQualifier

Chrome 44+

এনাম

"ক্লায়েন্ট_পুনঃনির্দেশ"

"সার্ভার_পুনঃনির্দেশ"

"আগামী_ব্যাক"

"from_address_bar"

TransitionType

Chrome 44+

নেভিগেশন কারণ. ইতিহাস 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।

রিটার্নস

  • প্রতিশ্রুতি<অবজেক্ট[]|অনির্ধারিত>

    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 একটি প্রদত্ত ফ্রেমআইডি-এর সাথে যুক্ত হওয়ার বিষয়টি বোঝায় না যে সংশ্লিষ্ট ফ্রেমটি এখনও বিদ্যমান।

রিটার্নস

  • প্রতিশ্রুতি<অবজেক্ট|অনির্ধারিত>

    Chrome 93+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

ঘটনা

onBeforeNavigate

chrome.webNavigation.onBeforeNavigate.addListener(
  callback: function,
  filters?: object,
)

যখন একটি নেভিগেশন ঘটতে চলেছে তখন গুলি করা হয়েছে৷

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (details: object)=>void

    • বিস্তারিত

      বস্তু

      • Chrome 106+

        নথিটি যে জীবনচক্রে রয়েছে৷

      • ফ্রেমআইডি

        সংখ্যা

        0 ট্যাব বিষয়বস্তু উইন্ডোতে নেভিগেশন ঘটতে নির্দেশ করে; একটি ইতিবাচক মান একটি সাবফ্রেমে নেভিগেশন নির্দেশ করে। ফ্রেম আইডি একটি প্রদত্ত ট্যাব এবং প্রক্রিয়ার জন্য অনন্য।

      • ফ্রেম টাইপ
        Chrome 106+

        যে ধরনের ফ্রেমে নেভিগেশন হয়েছে।

      • parentDocumentId

        স্ট্রিং ঐচ্ছিক

        Chrome 106+

        এই ফ্রেমের মালিক নথির একটি UUID। অভিভাবক না থাকলে এটি সেট করা হয় না।

      • parentFrameId

        সংখ্যা

        অভিভাবক ফ্রেমের আইডি, অথবা -1 যদি এটি প্রধান ফ্রেম হয়।

      • প্রসেসআইডি

        সংখ্যা

        Chrome 50 থেকে অবরুদ্ধ

        এই ইভেন্টের জন্য processId আর সেট করা নেই, যেহেতু প্রসেসটি ফলাফল নথি রেন্ডার করবে তা onCommit পর্যন্ত জানা যায় না।

        -1 এর মান।

      • ট্যাবআইডি

        সংখ্যা

        যে ট্যাবে নেভিগেশন ঘটতে চলেছে তার ID৷

      • টাইমস্ট্যাম্প

        সংখ্যা

        যে সময় ব্রাউজারটি নেভিগেশন শুরু করতে চলেছে, সেই যুগ থেকে মিলিসেকেন্ডে।

      • url

        স্ট্রিং

  • ফিল্টার

    বস্তু ঐচ্ছিক

    • যে শর্তাবলীতে 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 নেভিগেট করা হচ্ছে তা অবশ্যই পূরণ করতে হবে। 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 নেভিগেট করা হচ্ছে তা অবশ্যই পূরণ করতে হবে। UrlFilter-এর 'স্কিম' এবং 'পোর্ট' ক্ষেত্রগুলি এই ইভেন্টের জন্য উপেক্ষা করা হয়েছে।

onCreatedNavigationTarget

chrome.webNavigation.onCreatedNavigationTarget.addListener(
  callback: function,
  filters?: object,
)

একটি নতুন উইন্ডো, বা একটি বিদ্যমান উইন্ডোতে একটি নতুন ট্যাব, একটি নেভিগেশন হোস্ট করার জন্য তৈরি করা হলে গুলি করা হয়৷

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (details: object)=>void

    • বিস্তারিত

      বস্তু

      • sourceFrameId

        সংখ্যা

        sourceTabId সহ ফ্রেমের আইডি যেখানে নেভিগেশন ট্রিগার করা হয়েছে। 0 প্রধান ফ্রেম নির্দেশ করে।

      • sourceProcessId

        সংখ্যা

        সোর্স ফ্রেমের জন্য রেন্ডারার চালানোর প্রক্রিয়ার আইডি।

      • sourceTabId

        সংখ্যা

        যে ট্যাবে নেভিগেশন ট্রিগার করা হয়েছে তার ID।

      • ট্যাবআইডি

        সংখ্যা

        ট্যাবের আইডি যেখানে url খোলা হয়েছে

      • টাইমস্ট্যাম্প

        সংখ্যা

        যে সময় ব্রাউজারটি একটি নতুন ভিউ তৈরি করতে চলেছে, সেই যুগ থেকে মিলিসেকেন্ডে।

      • 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 নেভিগেট করা হচ্ছে তা অবশ্যই পূরণ করতে হবে। 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 নেভিগেট করা হচ্ছে তা অবশ্যই পূরণ করতে হবে। 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 নেভিগেট করা হচ্ছে তা অবশ্যই পূরণ করতে হবে। 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 নেভিগেট করা হচ্ছে তা অবশ্যই পূরণ করতে হবে। UrlFilter-এর 'স্কিম' এবং 'পোর্ট' ক্ষেত্রগুলি এই ইভেন্টের জন্য উপেক্ষা করা হয়েছে।

onTabReplaced

chrome.webNavigation.onTabReplaced.addListener(
  callback: function,
)

ট্যাবের বিষয়বস্তু একটি ভিন্ন (সাধারণত পূর্বে প্রি-রেন্ডার করা) ট্যাব দ্বারা প্রতিস্থাপিত হলে ফায়ার করা হয়।

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (details: object)=>void

    • বিস্তারিত

      বস্তু

      • প্রতিস্থাপিত ট্যাবিআইডি

        সংখ্যা

        ট্যাবের আইডি যা প্রতিস্থাপন করা হয়েছে।

      • ট্যাবআইডি

        সংখ্যা

        ট্যাবের আইডি যা পুরানো ট্যাব প্রতিস্থাপন করেছে।

      • টাইমস্ট্যাম্প

        সংখ্যা

        যে সময় প্রতিস্থাপন ঘটেছে, সেই যুগ থেকে মিলিসেকেন্ডে।