ডিওএম সম্পর্কে কয়েকটি স্পষ্টতা


25

আমি ডিওএমটি বোঝার চেষ্টা করছি এবং এটি কী তা সম্পর্কে আমার কাছে ন্যায্য ধারণা থাকলেও এমন কিছু ধারণা রয়েছে যা আমি কেবল পিন করতে পারি না। আমি ডিওএম কী বলে মনে করি তা নীচে তালিকাভুক্ত করব এবং আমার প্রশ্নগুলি ইনলাইন হবে।

  1. ডিওএম ওয়েব পৃষ্ঠার একটি সম্পূর্ণ অবজেক্ট-ভিত্তিক উপস্থাপনা। ডাব্লু 3 সি ডোম স্ট্যান্ডার্ড বেশিরভাগ আধুনিক ব্রাউজারগুলিতে প্রয়োগ করা ডিওএমের ভিত্তি তৈরি করে।

    সুতরাং ডম কীভাবে কোনও এক্সএমএল / এইচটিএমএল ডকুমেন্টকে কোনও বস্তুর মডেল হিসাবে উপস্থাপিত করে তা নিয়ে কথা বলে?

  2. ডিওএম নির্দিষ্ট করে না যে নথি অবশ্যই গাছ বা গ্রোভ হিসাবে প্রয়োগ করা উচিত, বা বস্তুর মধ্যে সম্পর্ক কীভাবে কার্যকর করা হবে তা নির্দিষ্ট করে না।

    অন্য কোন উপায়ে দলিলটি উপস্থাপন করা যায়?

  3. আপনি যখন এই জাতীয় কিছু করেন -

    document.write('welcome to my home page!');

    ডকুমেন্ট অবজেক্টটি ডিওএম সরবরাহ করেছে। লেখার পদ্ধতি হ'ল ইন্টারফেসগুলি যা ডওমের দ্বারা জাভাস্ক্রিপ্টের সংস্পর্শে আসে।

    সুতরাং বস্তু এবং এর পদ্ধতিগুলি ডিওএম পার্সার দ্বারা জাভাস্ক্রিপ্ট অবজেক্ট হিসাবে তৈরি করা হয়েছে এবং তারপরে জাভাস্ক্রিপ্ট ইঞ্জিনে উপস্থাপন করা হয়েছে? অথবা ডিওএম-এর পার্সিং ইঞ্জিনের মধ্যে থাকা নিজস্ব বস্তু এবং পদ্ধতিগুলি কী তাদের নিজস্ব ভাষায়? এবং জাভাস্ক্রিপ্ট ইঞ্জিন উন্মুক্ত? যদি এটি হয়, তবে জাভাস্ক্রিপ্ট থেকে স্থানীয় ভাষায় অনুবাদ করার জন্য দায়ী কি?

  4. ভাষার বাইন্ডিং কি?

    ভাষা বাইন্ডিং হ'ল প্রশ্নের মধ্যে থাকা ভাষার মূল অবজেক্টের সেট যা ডিওএম স্পেসিফিকেশনের প্রতিটি ইন্টারফেস প্রয়োগ করে।

    বিকাশকারীরা ডিওএম স্পেসিফিকেশনে আইডিএল (ইন্টারফেস সংজ্ঞা ভাষা) অনুসরণ করে ডম থেকে তাদের ভাষায় ভাষার বাইন্ডিং তৈরি করতে পারেন।

    সুতরাং যদি ডিওএম পার্সিং ইঞ্জিনটি সি ++ বলার ক্ষেত্রে প্রয়োগ করা হয়, তার অর্থ কি এই যে আপনি যখন আইডিএল অনুসরণ করে ভাষার বাইন্ডিংগুলি তৈরি করেন, আপনি কেবল নির্দিষ্ট ভাষায় অবজেক্ট তৈরি করেন, অর্থাৎ সি ++ যা আপনার ডোম পার্সিং ইঞ্জিনটি দিয়ে নির্মিত?


@ অ্যাপসিলারদের এটি হওয়া উচিত ছিল "এটি কীভাবে একটি এক্সএমএল / এইচটিএমএল ডকুমেন্টকে কোনও বস্তুর মডেল হিসাবে উপস্থাপন করা হয় তা নিয়ে ডোম কথা বলে ?" আমি পোস্টটি সম্পাদনা করেছি।
ব্যবহারকারী 1720897

আমি মন্তব্যগুলিতে যা করতে পারি তার উত্তর দেব। 3 এবং 4 ব্রাউজারগুলি বিকাশকারী কাউকে সত্যই উত্তর দিতে পারে এবং আমি উত্তর গণনাটিকে প্রভাবিত করতে চাই না। 1 - ব্রাউজারটির নথির বর্তমান অবস্থা সম্পর্কে বোঝাপড়া রয়েছে, আপনি এটি ডিওএম বলতে পারেন, পর্যায়ক্রমে আপনি ডমকে এমন স্ট্যান্ডার্ড ইন্টারফেসগুলি বলতে পারেন যা আপনাকে ডকুমেন্টের অবস্থাকে জিজ্ঞাসা করতে এবং সংশোধন করতে দেয়।
জর্জ মাউয়ার

2 - বিবৃতিটি বাস্তবায়ন সম্পর্কিত, প্রতিনিধিত্বমূলক নয়। আমি ভুল না হলে '' প্রতিনিধিত্ব '' একটি গাছ হতে হবে। পিছনে পর্দার বাস্তবায়ন হয় না।
জর্জ মাউয়ার

উত্তর:


19

এরপরে যা প্রাসঙ্গিক স্পেসিফিকেশন এবং রেফারেন্স রয়েছে তা সম্পর্কে আমার সেরা পড়া। (আমি মোজিলাকে ' ডিওএম স্তরের সম্পর্কে অ্যাবস্ট্রাক্ট এবং সম্পর্কিত লিঙ্কগুলি বিশেষত সহায়ক বলে মনে করেছি)) অন্যের কাছ থেকে সংশোধন বা স্পষ্টকরণকে উত্সাহিত করি।

সুতরাং ডম কীভাবে কোনও এক্সএমএল / এইচটিএমএল ডকুমেন্টকে কোনও বস্তুর মডেল হিসাবে উপস্থাপিত করে তা নিয়ে কথা বলে?

হ্যাঁ। ডোম স্তর 1 নির্দিষ্টকরণের দুটি অংশ রয়েছে - কোর এবং এইচটিএমএলকোর করে DOM স্পেসিফিকেশন একটি বর্ণনা সাধারণ করে DOM যে কোনো কাঠামোবদ্ধ ডকুমেন্ট প্রতিনিধিত্ব করতে ব্যবহার করা যেতে পারে। এইচটিএমএল করে DOM স্পেসিফিকেশন বর্ণনা HTML নথির বিশেষভাবে বর্ণনা করতে কোর করে DOM কীভাবে ব্যবহার করবেন তা এবং HTML-নির্দিষ্ট ইন্টারফেস অন্তর্ভুক্ত করা হয়েছে।

ডিওএম নির্দিষ্ট করে না যে নথি অবশ্যই গাছ বা গ্রোভ হিসাবে প্রয়োগ করা উচিত, বা বস্তুর মধ্যে সম্পর্ক কীভাবে কার্যকর করা হবে তা নির্দিষ্ট করে না। অন্য কোন উপায়ে দলিলটি উপস্থাপন করা যায়?

করে DOM কোর নেই অনুমান ডকুমেন্ট একটি গাছ। Nodeইন্টারফেস "... সমগ্র [করে DOM] এর জন্য প্রাথমিক ডাটাটাইপ। এটি একটি একক নোড প্রতিনিধিত্ব করে ডকুমেন্ট গাছ ।" Nodeঅ্যাক্সেস করা শিশু, সহোদর, এবং পিতা বা মাতা নোড (যেমন, জন্য বিভিন্ন বৈশিষ্ট্য আছে parentNode, frstChildইত্যাদি) করে একটি গাছ গঠন বোঝা। আপনি একটি সমতল গাছ বা লিনিয়ার ট্রি (উদাহরণস্বরূপ, একটি লিঙ্কযুক্ত তালিকা) ব্যবহার করতে পারেন তবে এটি এখনও গাছের কোনও রূপ হতে চলেছে।

জর্জ মাউর মন্তব্যগুলিতে যেমন উল্লেখ করেছেন, সম্ভবত আপনি বোঝাচ্ছেন যে কোনও নির্দিষ্ট প্রয়োগের অন্তর্নিহিত মডেলটি গাছ হওয়ার দরকার নেই। এটাই সত্য; যতক্ষণ না আপনার প্রয়োগটি ডিওএম স্পেসিফিকেশনে প্রতিশ্রুতিবদ্ধ কার্যকারিতা সরবরাহ করে, আপনি সেই কার্যকারিতাটি সরবরাহ করতে আপনার পছন্দ মতো কাঠামো ব্যবহার করতে পারেন।

ডিওএম-র ইঞ্জিনের মধ্যে থাকা বস্তু এবং পদ্ধতিগুলি কি তাদের নিজস্ব ভাষায় পার্সিং করছে?

সাধারণত, হ্যাঁ । বেশিরভাগ ব্রাউজারগুলিতে, ডিওএম সি এর মতো নিম্ন স্তরের ভাষায় প্রয়োগ করা হয় এবং ব্রাউজারটি জাভাস্ক্রিপ্টের পরিবেশে বাইন্ডিং সরবরাহ করে যা প্রকৃত উপস্থাপনাগুলি পরিচালনা করতে পারে। আসলে, আপনি যদি "জাভাস্ক্রিপ্টে ডিওএম সরানো" এর অর্থটির অর্থটি দেখুন? , আপনি দেখতে পাবেন যে গুগল কোনও নেটিভ জাভাস্ক্রিপ্ট ডিওএম প্রয়োগকরণে স্যুইচ করতে আগ্রহী (সম্ভবত সি ++ ফাংশনের জন্য একটি সি ++ ফাংশন এবং ডুপ্লিকেট জাভাস্ক্রিপ্ট মোড়কের উভয় প্রয়োজন বোধ করা সম্ভব ; সম্ভবত পারফরম্যান্স লাভের জন্যও)।

জাভাস্ক্রিপ্ট থেকে স্থানীয় ভাষায় অনুবাদ করার জন্য দায়ী কি?

আমি এই বিষয়টিতে কিছুটা ঝুঁকিপূর্ণ, তবে আমার বোঝাটি হল যে যখন কোনও জাভাস্ক্রিপ্ট ডিওএম বাঁধন করা হয়, তখন জাভাস্ক্রিপ্ট এক্সিকিউশন পরিবেশ (যা নিজে সি এর মতো নিম্ন স্তরের ভাষায় প্রয়োগ করা হয়) প্রাসঙ্গিক ডিওএম ফাংশনে ফোন করে (সি / সি ++ তে লিখিত) ডিওএম চালনা করতে।

আপনি যদি এর থেকে আরও গভীর দিকে যেতে চান তবে আপনাকে এমন কারও সাথে কথা বলতে হবে যিনি আসলে ব্রাউজারগুলি করেন।

এর অর্থ কি এই যে আপনি যখন আইডিএল অনুসরণ করে ভাষার বাইন্ডিংগুলি তৈরি করেন, আপনি নির্দিষ্ট ভাষায় কেবলমাত্র বস্তু তৈরি করছেন, অর্থাৎ সি ++ যা আপনার ডোম পার্সিং ইঞ্জিনটি দিয়ে নির্মিত?

হ্যাঁ। ডিওএমের আইডিএল ভাষা-অজ্ঞাতিক, যাতে আপনি এটি যে কোনও ভাষায় প্রয়োগ করতে পারেন। "একটি ডিওএম বাস্তবায়ন রাইটিং" এর অর্থ ডিওএম স্পেসিফিকেশনগুলিতে বর্ণিত আইডিএল ইন্টারফেসের সাথে সঙ্গতিপূর্ণ কোড (কোনও নির্দিষ্ট ভাষায়) রাইটিং কোড।


আমি বিশ্বাস করি বাইন্ডিংগুলিতে দুটি জিনিস জড়িত থাকতে হবে। নেটিভ বাস্তবায়ন থেকে ইভেন্টগুলি বাছাই করার জন্য রেফারেন্সের মাধ্যমে নেটিভ রান-টাইম এবং কোনও উপায় উপস্থাপন। ব্রাউজারগুলিতে সাধারণভাবে কনসোলগুলিতে লগইন করে কোন পদ্ধতিগুলি কেবল দেশীয় কোড র‌্যাপার তা দেখতে পাচ্ছেন। যেমন console.log(document.write);বা console.log(document.constructor);- .toString()ব্রাউজারগুলিতে লগ প্যারাম যুক্ত করুন যা আপনাকে ফাংশনের পাঠ্য দেয় না। অবজেক্টগুলির অগত্যা নেটিভ কোডে মিরর সমতুল্য না হবে। এছাড়াও, বেশিরভাগ ডিওএম অবজেক্ট বৈশিষ্ট্যগুলি আসলে যুক্ত আচরণের সাথে সংঘটিত হয়।
এরিক রেপেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.