Browser

 Browser app (যা এখন সিস্টেমের অংশ)আমাদেযখন প্রয়োজন তখন ব্রাউজার দিয়ে থাকে ফাঙ্কশনালিটির মত-পেজ নেভিগেশন ,সার্চ এবং বুক্মার্ক্স।এই অনুচ্ছেদব্যাখা করে কিভাবে ব্রাউজার ফাঙ্কশনালিটি কাজ করে ,এবং কিভাবে এটি বিশাল সিস্টেমে উপযুক্ত।

যখন গায়া গেকোর উপরে কাজ করার জন্য গঠোন হয়ে থাকে,ইহা ইঞ্জিনিয়ারদের জন্য সম্ভব একটি Browserঅ্যাপ/সিস্টেম  Browser নিয়মিত ওয়েব পেজের নেভিগেশনের জন্য যা তখনের গেকোর উপরে ভিত্তি করে । এটি  mozBrowser API দ্বারা পরিচালিত।

নোটঃফায়ারফক্স ওএস  2.1 থেকে পরবর্তীতে,  Browserঅ্যাপ হল একটি  Systemঅ্যাপের অংশ। এটা মানে ওয়েব ব্রাউজিং ক্লিকিং  Browser iconদ্বারা   Browser অ্যাপ খুলে অথবা ইউনিভার্সাল সার্চ দ্বারা সুবিধা পেয়ে এবং নেভিগেশন সক্ষমতা উভয়ের দ্বারা কাজ হয়ে থাকে।অ্যাপ এবং ব্রাউজিং ট্যাবস একটি সাধারন অভিজ্ঞতায় এং বিদ্যমান টাস্ক ম্যানেজারের দ্বারা  একিভুত হয়ে থাকে এবং শিট দেখা যায়(কোনার ভজ্ঞিমার জন্য) Haida user experience এর অংশ হিসেবে।

সিস্টেম Browser (Browser Chrome)

যখন একটি Firefox OS ব্যবহারকারী একটি ওয়েব পেজকে বুক্মার্ক্স করে তখন এটা হোমস্ক্রীনে দখা যাবে,ওয়েব পেজটি তখনি  System Browser এ খুলে যাবে  Browser app এর পরিবর্তে।এহা টুল বারের একবারে নিচে থাকে সাধারন ব্যাক/ফরোয়ার্ড/রিফ্রেশ ফাঙ্কশনের।গায়াতে এহাকে বলা হয়ে থাকে Browser Chrome অথবা র‌্যাপার।আপনি এটা নিচের ছবির ডান পাশের দিকে দেখতে পারেন

A diagram showing that when a web page is opened in the system browser, it is given a toolbar.

যদি আপনি আপনার অয়েব পেজের ফিচার ব্যাক/ফরোয়ার্ড/রিফ্রেশ চেয়ে থাকেন,আপনাকে  Browser Chrome কে সক্ষম করতে অ্যাপস মেনিফেস্টকে অনুসরণ করতে হবে।.

declare { chrome: { navigation: true } }

নোটঃব্রাউজার ক্রোম টুল বার সর্বোচ্চ তালিকা কে প্রভাবিত করে থাকে,সুতরাং এটাকে আপনি বিবেচনায় আনতে পারেন ওয়েব পেজের উদ্বোধনের সময়।

The code flow

যখন Firefox OS এ একটি নতুন ওয়েব পেজ খুলা হয়ে থাকে,কল ফ্লোটি হল.

Gecko > WrapperFactory > Window Manager > AppWindow > BrowserFrame

 system/js/wrapper_factory থেকে প্রাপ্ত র‌্যাপার mozbrowseropenwindow  ইভেন্ট গ্রহন করবে একটী নতুন ওয়েব পেজের বুক্মার্কড এর জন্য।

 handleEvent শাখায় হ্যান্ডেলার চেক করবে ইভেন্টটি সিধান্ত নিতে যে ওয়েব পেজ একটি অ্যাপ অথবা ব্রাউজার ক্রোমে হিসেবে খোলা যায় কিনা।

অবশেষে , launchWrapper  কে করেস্পন্ডীঙ উইন্ডো হিসেবে শুরু করতে বলা হয়ে থাকে।

ইউনিভার্সাল সার্চ এবং নেভিগেশন

ন্তুন সার্চ এবং নেভিগেশন বার দেয়ে,ব্যবহারকারীরা নিজেদের প্রিয় জিনিস একটি URL টাইপ করে পেতে পারে,অথবা নতুন একটি অ্যাপ বের করতে পারে,ফায়ারফক্স   OS থেকে।সার্চ বার স্ক্রীনের সবচেয়ে উপরে থাকে,এবং ব্যবহারকারী এটা খোলার জন্য ট্যাপ অথবা পরিস্কার করতে পারে।

 ইহাকে Awesome Bar এরকম্বিনেশন হিসেবে ব্রাউজার থেকে চিন্তা করুন এবং  ব্রাউজার থেকে এবংহোমস্ক্রীন থেকে  adaptive app search  তে। কারণ Firefox OS ওয়েব অ্যাপস ব্যবহার করে থাকে,যখন আপনি আপনার ইচ্ছা অনুযায়ী পাবেন,যদিও এটি নতুন অ্যাপস,এটি খুলে সঠিক ভাবে।আপনার ন্তুন কিছু ইন্সটল করতে হবে না।কারণ এটি তখনি সব কিছু করে ফেলে।

Browser অ্যাপ

 Browser অ্যাপ হল একটি পরীক্ষিত ওয়েবঅ্যাপ যা একটি সাধারণ ওয়েব browser  অভিজ্ঞতা দেয়।প্রধান ফাঙ্কশন   apps/browser/js/browser.js তে পাওয়া যায়ঃ

var Browser = {
  init: function browser_init() {
    this.getAllElements();
      ...
    BrowserDB.init((function() {
      ...
    }
  }
};

window.addEventListener('load', function browserOnLoad(evt) {
  window.removeEventListener('load', browserOnLoad);
  Browser.init();
});

 Browser এর  init()ফাংকশনকে কল করবে যখন  DOM পরিপূর্ণ ।

getAllElements: function browser_getAllElements() {
  var elementIDs = [
    'toolbar—start', ... 'danger—dialog'];

  // Loop and add element with camel style name to Modal Dialog attribute.
  elementIDs.forEach(function createElementRef(name) {
    this[this.toCamelCase(name)] = document.getElementById(name);
  }, this);
},

 getAllElements ফাংকশন ব্যবহার করা হয়ে থাকে সকল  camelCase উপাদান হ্যান্ডেল করতে,এর পরে  apps/browser/js/browser_db.js কে কল করা হয়ে থাকে,ডিফল্ট সার্চ ইঞ্জিন এবং বুক্মার্ক্স যোগ করে তৈরি করতে লাগে।

Bookmarks

ফায়ারফক্স ও এস থেকে 2.0 apps/bookmark ব্যবহার হয়ে থাকে বুক্মার্ক্স সেভ/কার্যক্রম সরাতে

সবচেয়ে মজার অংশ apps/bookmark/webapp.manifestহল দেখতে এর মতঃ

"activities": {
  "save—bookmark": {
    "filters": {
      "type": "url",
      "url": { "required":true, "pattern":"https?:.{1,16384}" }
    },
    "disposition": "inline",
    "href": "/save.html",
    "returnValue": true
  },
  "remove—bookmark": {
    "filters": {
      "type": "url",
      "url": { "required":true, "pattern":"https?:.{1,16384}" }
    },
    "disposition": "inline",
    "href": "/remove.html",
    "returnValue": true
  }
},

উপরে যা দেখা হয়েছে,এক্টিভিটি  হ্যান্ডেল করা হয়ে থাকে html সেভ এবং and html রিমুভ দ্বারা. উভয় অপারেশন  apps/bookmark/js/activity_handler.jsতে ডিলেগেটেডঃ

var ActivityHandler = {
  'save—bookmark': function ah_save(activity) {
  },

  'remove—bookmark': function ah_remove(activity) {
  }
};

navigator.mozSetMessageHandler('activity', function onActivity(activity) {
  var name = activity.source.name;
  switch (name) {
    case 'save—bookmark':
    case 'remove—bookmark':
      if (activity.source.data.type === 'url') {
        ActivityHandler[name](activity);
      }
    ...
  }
}

যখন মেসেজ হ্যান্ডেলার লিসেনার navigator.mozSetMessageHandler('activity')  save-bookmark or remove-bookmark কার্যক্রম গ্রহন করে, ActivityHandler ফাঙ্কশন প্রতিনিধিত্ব কারী অপারেশনের জন্য ট্রিগার তুলে হ্যান্ডেল করতে।

ডকুমেন্ট ট্যাগ এবং অবদানকারী

ট্যাগ: 
 Contributors to this page: chrisdavidmills, Bristy
 সর্বশেষ হালনাগাদ করেছেন: chrisdavidmills,