আমি সম্প্রতি একটি মডিউল তৈরি করেছি যার <head>
প্রতিটি পৃষ্ঠার নির্দিষ্ট জেএস এবং সিএসএস ফাইলগুলি ইনজেকশনের প্রয়োজন । প্রথমদিকে, আমি ব্যবহার করেছি:
$doc =& JFactory::getDocument();
$doc->addScript(JURI::base(true).'/modules/mod_x/js/mod_x.js');
তবে, আমি লক্ষ্য করেছি যে যখন ক্যাচিং সক্ষম করা হয়েছিল তখন সাইটটি উভয় থেকে ক্যাশেড সংস্করণ /cache
এবং নন-ক্যাশেড সংস্করণ উভয়ই লোড করেছিল /modules/mod_x/js/
, যার ফলে জেএস ত্রুটি হয়েছিল।
আমি যখন এটিকে পরিবর্তন করেছি:
JHtml::script(Juri::base().'modules/mod_x/js/mod_x.js');
এই ত্রুটিগুলি সমাধান করে, স্ক্রিপ্টটি একবার ক্যাশে থেকে লোড করা হয়েছিল।
আমি ডক্সে পড়েছি যে addScript
পদ্ধতিটি পদ্ধতির চেয়ে 'নিম্ন স্তরের' ছিল JHtml:script
, তবে এটি বলার বাইরে ...
অবশ্যই, আপনাকে কয়েকটি পদক্ষেপের ম্যানুয়ালি কোডিংও করতে হবে [যা জেএইচটিএমএল: স্ক্রিপ্ট আপনার জন্য করে] যা উপরের [জেএইচটিএমএল: স্ক্রিপ্ট পদ্ধতি] ব্যবহার করে স্বয়ংক্রিয়ভাবে সম্পন্ন হবে [যদি আপনি অ্যাডস্ক্রিপ্ট ব্যবহার করেন]।
... আরও বিস্তারিত দেওয়া হয় না।
তাহলে পার্থক্য কী? আমি ধরে নিচ্ছি JHtml:script
অবশেষে addScript
কোনও সময়ে কোনও নথির অবজেক্টে কল করি তবে অন্যান্য মধ্যস্থতাকারী পদক্ষেপগুলি কি আগে নেওয়া হয়?