bangla - javascript download for windows 7



কেন document.write একটি "খারাপ অভ্যাস" বিবেচনা করা হয়? (11)

আমি জানি document.write খারাপ অনুশীলন বলে মনে করা হয়; এবং আমি তাদের তৃতীয় পক্ষের বিক্রেতাকে জমা দেওয়ার কারণগুলির একটি তালিকা সংকলন করার আশা করছি কারণ তারা তাদের বিশ্লেষণ কোডের বাস্তবায়নে document.write ব্যবহার করবেন না।

নীচের একটি খারাপ অনুশীলন হিসাবে document.write দাবি করার জন্য আপনার কারণ অন্তর্ভুক্ত করুন।


ব্রাউজার লঙ্ঘন

.write একটি ব্রাউজার লঙ্ঘন হিসাবে বিবেচনা করা হয় কারণ এটি পৃষ্ঠা রেন্ডারিং থেকে .write । পাসারটি বার্তাটি গ্রহণ করে যে নথিটি সংশোধন করা হচ্ছে; অতএব, এটি প্রক্রিয়া সম্পন্ন না হওয়া পর্যন্ত এটি অবরুদ্ধ পায়। শুধুমাত্র এই সময় পার্সার পুনরায় শুরু হবে।

কর্মক্ষমতা

যেমন একটি পদ্ধতি নিযুক্ত বৃহত্তম ফলাফল কর্মক্ষমতা কমিয়ে আনা হয়। ব্রাউজার পৃষ্ঠা কন্টেন্ট লোড করতে আর সময় লাগবে। লোড সময় প্রতিকূল প্রতিক্রিয়া নথিতে লিখিত হয় কি উপর নির্ভর করে। যদি আপনি DOM এ একটি <p> ট্যাগ যোগ করেন তবে আপনি কোনও পার্থক্য দেখতে পাবেন না 50-এর অ্যারে পাস করার বিরোধিতা করে-জাভাস্ক্রিপ্ট লাইব্রেরিগুলিতে কিছু উল্লেখ (যা আমি কোডিং কোডে দেখেছি এবং এর ফলে 11 সেকেন্ডে) বিলম্ব - অবশ্যই, এটি আপনার হার্ডওয়্যার উপর নির্ভর করে)।

সর্বোপরি, আপনি যদি এটির সহায়তা করতে পারেন তবে এই পদ্ধতিটি পরিষ্কার করা ভাল।

আরো তথ্যের জন্য developers.google.com/web/updates/2016/08/… দেখুন


Document.write এর ক্ষতিগুলি প্রধানত এই তিনটি কারণের উপর নির্ভর করে:

একটি) বাস্তবায়ন

Document.write () বেশিরভাগই সেই সামগ্রীটির প্রয়োজন অনুসারে পর্দায় সামগ্রী লেখার জন্য ব্যবহার করা হয়। এর অর্থ হল এটি কোনও জাভাস্ক্রিপ্ট ফাইল বা HTML ফাইলের মধ্যে একটি স্ক্রিপ্ট ট্যাগের মধ্যেই হয়। স্ক্রিপ্ট ট্যাগটি যেমন এইচটিএমএল ফাইলের মধ্যে কোথাও স্থাপন করা হচ্ছে, স্ক্রিপ্ট ব্লকগুলির মধ্যে document.write () বিবৃতি থাকা একটি খারাপ ধারণা যা একটি ওয়েব পৃষ্ঠায় HTML এর সাথে সংযুক্ত করা হয়।

খ) রেন্ডারিং

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

গ) অসম্ভব ম্যানিপুলেশন

এটি লেখা এবং এটি সঙ্গে সম্পন্ন করা হয় একবার। আমরা DOM মধ্যে ট্যাপ ছাড়া এটি ম্যানিপুলেট ফিরে যেতে পারবেন না।


আমার মাথার উপরে:

  1. document.write পৃষ্ঠা লোড বা শরীরের লোড ব্যবহার করা প্রয়োজন। সুতরাং আপনি যদি আপনার পৃষ্ঠার সামগ্রী নথি আপডেট করতে অন্য কোন সময় স্ক্রিপ্টটি ব্যবহার করতে চান তবে লিখুন।

  2. টেকনিক্যালি document.write শুধুমাত্র এইচটিএমএল পৃষ্ঠাগুলি এক্সএক্সএমএল / এক্সএমএল আপডেট করবে। IE এই সত্যটি বেশ ক্ষমাশীল বলে মনে হচ্ছে কিন্তু অন্যান্য ব্রাউজার হবে না।

http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite


আরো গুরুতর সমস্যা কয়েকটি:

  • document.write (এখন DW) XHTML এ কাজ করে না

  • DW সরাসরি DOM পরিবর্তন করে না, আরও ম্যানিপুলেশন প্রতিরোধ করে (এর প্রমাণ খুঁজে বের করার চেষ্টা করছে, কিন্তু এটি সেরা পরিস্থিতি অনুসারে)

  • পৃষ্ঠাটি লোড করা শেষ হওয়ার পরে DW পৃষ্ঠাটি ওভাররাইট করবে, অথবা একটি নতুন পৃষ্ঠা লিখবে, বা কাজ করবে না

  • DW যেখানে মুখোমুখি হয়: এটি একটি প্রদত্ত নোড বিন্দুতে ইনজেকশন করতে পারে না

  • DW কার্যকরভাবে সিরিয়ালাইজড পাঠ্য লেখা হয় যা DOM ধারণাগত ভাবে কাজ করে না এবং এটি বাগ তৈরি করার একটি সহজ উপায়। (.HTMLHTML একই সমস্যা রয়েছে)

নিরাপদ এবং DOM বন্ধুত্বপূর্ণ DOM ম্যানিপুলেশন পদ্ধতিগুলি ব্যবহার করার জন্য অনেক ভাল


এখানে আমার দ্বৈত মূল্য, সাধারণভাবে আপনি document.write ব্যবহার করবেন না। ভারী উত্তোলনের জন্য লিখুন, কিন্তু একটি উদাহরণ যেখানে এটি অবশ্যই দরকারী:

http://www.quirksmode.org/blog/archives/2005/06/three_javascrip_1.html

আমি এই সম্প্রতি একটি AJAX স্লাইডার গ্যালারী তৈরি করার চেষ্টা আবিষ্কৃত। আমি দুটি নেস্টেড <div> তৈরি করেছি, এবং প্রযোজ্য width / height এবং overflow: hidden বাইরের <div> সাথে overflow: hidden । এটি এমন ছিল যে ব্রাউজারটি যদি JS নিষ্ক্রিয় করে তবে ডিভিকে গ্যালারিতে থাকা চিত্রগুলিকে মিটমাট করতে হবে - কিছু সুন্দর সুন্দর অবনতি।

থিংসটি উপরের নিবন্ধের মতোই, এই JS হাইজ্যাকিংটি পৃষ্ঠাটি লোড না হওয়া পর্যন্ত লাফ দেয়নি, কারণ ডিভি লোড হওয়ার কারণে এটি একটি ক্ষতিকারক ফ্ল্যাশ তৈরি করে। তাই আমি একটি CSS রুল লিখতে বা পৃষ্ঠাটি লোড হিসাবে একটি শীট অন্তর্ভুক্ত করা প্রয়োজন।

স্পষ্টতই, এটি এক্সএইচটিএমএমে কাজ করবে না, কিন্তু এক্সএইচটিএলটি মৃত হাঁসের কিছু (এবং IE তে ট্যাগ স্যুপ হিসাবে উপস্থাপিত) মনে হচ্ছে তবে এটি আপনার পছন্দসই ডকটিপিপি এর পুনঃ-মূল্যায়ন মূল্যের হতে পারে ...


এটি XML রেন্ডারিং ব্যবহার করে পৃষ্ঠাগুলি ভেঙ্গে ফেলে (যেমন এক্সএটিএমএম পৃষ্ঠাগুলি)।

সেরা : HTML ব্রাউজারে ফিরে কিছু ব্রাউজার স্যুইচ করুন এবং সবকিছু ঠিক কাজ করে।

সম্ভাব্য : কিছু ব্রাউজার XML. রেন্ডারিং মোডে document.write () ফাংশনটি অক্ষম করে।

সবচেয়ে খারাপ : document.write () ফাংশনটি ব্যবহার করার সময় কিছু ব্রাউজার একটি এক্সএমএল ত্রুটি জ্বালিয়ে দেবে।


ক্রোম কিছু ক্ষেত্রে ক্ষেত্রে একটি স্ক্রিপ্ট সন্নিবেশ করা document.write ব্লক করতে পারে। যখন এটি ঘটবে, তখন এটি কনসোলে এই সতর্কতা প্রদর্শন করবে:

একটি পার্সার-ব্লকিং, ক্রস-মূল স্ক্রিপ্ট, ..., ডকুমেন্ট.write এর মাধ্যমে আহ্বান করা হয়। ডিভাইসটি খারাপ নেটওয়ার্ক সংযোগ থাকলে এটি ব্রাউজার দ্বারা অবরুদ্ধ করা যেতে পারে।

তথ্যসূত্র:


গুগল ক্রোম ডে টুলস ' বাতিঘর অডিট দ্বারা সম্পন্ন বিশ্লেষণ উপর ভিত্তি করে


document.write .write সঙ্গে আসলে কিছুই ভুল আছে, প্রতি। সমস্যাটি যে এটি অপব্যবহার করা সত্যিই সহজ। মোটামুটি, এমনকি।

বিশ্লেষক কোড সরবরাহ করার জন্য বিক্রেতা (গুগল অ্যানালিটিক্সের মতো) এটি আসলে তাদের জন্য এই ধরনের স্নিপেটগুলি বিতরণ করার পক্ষে সবচেয়ে সহজ উপায়।

  1. এটা ছোট স্ক্রিপ্ট রাখে
  2. তারা ইতিমধ্যে ইনস্টল করা অনলোড ইভেন্ট overriding সম্পর্কে বা নিরাপদভাবে আনলোড ইভেন্ট যোগ করার জন্য প্রয়োজনীয় বিমূর্ততা সহ চিন্তা করতে হবে না
  3. এটা অত্যন্ত সামঞ্জস্যপূর্ণ

যতক্ষণ আপনি নথিটি লোড করার পরে এটি ব্যবহার করার চেষ্টা করবেন না, আমার নমনীয় মতে document.write স্বাভাবিকভাবেই মন্দ নয়।


এটা আপনার পাতা ব্লক করতে পারেন

document.write শুধুমাত্র লোড হচ্ছে যখন কাজ করে; পৃষ্ঠাটি লোড হওয়ার পরে আপনি এটি কল করলে পুরো পৃষ্ঠাটি ওভাররাইট করবে।

এটি কার্যকরভাবে আপনাকে একটি ইনলাইন স্ক্রিপ্ট ব্লক থেকে কল করতে হবে - এবং এটি অনুসরণকারী পৃষ্ঠার অংশগুলির প্রক্রিয়াকরণ থেকে ব্রাউজারকে আটকায়। লেখা ব্লক শেষ না হওয়া পর্যন্ত স্ক্রিপ্ট এবং চিত্র ডাউনলোড করা হবে না।


  • document.write write একটি খারাপ অভ্যাস কেন একটি সহজ কারণ হল যে আপনি একটি দৃশ্যকল্প সঙ্গে আসতে পারে না যেখানে আপনি একটি ভাল বিকল্প খুঁজে পাচ্ছেন না।
  • আরেকটি কারণ হল যে আপনি বস্তুর পরিবর্তে স্ট্রিংগুলির সাথে ডিল করছেন (এটি খুব আদিম)।
  • এটা শুধুমাত্র নথি যোগ করা হয়।
  • এটির এমভিসি (মডেল-ভিউ-কন্ট্রোলার) প্যাটার্ন উদাহরণস্বরূপ সৌন্দর্যের কিছুই নেই।
  • এটি angularJS ajax+jQuery বা angularJS সাথে গতিশীল সামগ্রী উপস্থাপন করার জন্য অনেক বেশি শক্তিশালী।




javascript