আমার অভ্যন্তরীণ এইচটিএমএল নিয়ে এই সমস্যা ছিল, আমাকে আমার রিঅ্যাকটিজস অ্যাপ্লিকেশনটির "হেড" ট্যাগে একটি হটজার স্ক্রিপ্ট যুক্ত করতে হয়েছিল এবং এটি সংযোজন করার পরে ঠিকই সম্পাদন করতে হবে।
"প্রধান" ট্যাগে গতিশীল নোড আমদানির জন্য ভাল সমাধানগুলির একটি রিঅ্যাক্ট-হেলমেন্ট মডিউল।
এছাড়াও, প্রস্তাবিত ইস্যুটির একটি কার্যকর সমাধান রয়েছে:
অভ্যন্তরীণ এইচটিএমএলে কোনও স্ক্রিপ্ট ট্যাগ নেই!
দেখা যাচ্ছে যে এইচটিএমএল 5 অভ্যন্তরীণ এইচটিএমএল সম্পত্তি ব্যবহার করে স্ক্রিপ্ট ট্যাগগুলি গতিশীলভাবে যুক্ত করার অনুমতি দেয় না। সুতরাং নিম্নলিখিতগুলি কার্যকর করা হবে না এবং হ্যালো ওয়ার্ল্ড বলে কোনও সতর্কতা থাকবে না!
element.innerHTML = "<script>alert('Hello World!')</script>";
এটি এইচটিএমএল 5 স্পটে নথিভুক্ত করা হয়েছে:
দ্রষ্টব্য: অভ্যন্তরীণ এইচটিএমএল ব্যবহার করে scriptোকানো স্ক্রিপ্ট উপাদানগুলি theyোকানো হলে তা কার্যকর হয় না।
তবে সাবধান থাকুন, এর অর্থ এই নয় যে অভ্যন্তরীণ এইচটিএমএল ক্রস সাইট স্ক্রিপ্টিং থেকে নিরাপদ। এমডিএন এর অন্তর্নিহিত এইচটিএমএল পৃষ্ঠায় বর্ণিত ট্যাগগুলি ব্যবহার না করে অভ্যন্তরীণ এইচটিএমএল এর মাধ্যমে জাভাস্ক্রিপ্ট কার্যকর করা সম্ভব ।
সমাধান: গতিময় স্ক্রিপ্ট যুক্ত করা
একটি স্ক্রিপ্ট ট্যাগ গতিশীলভাবে যুক্ত করতে, আপনাকে একটি নতুন স্ক্রিপ্ট উপাদান তৈরি করতে হবে এবং এটি লক্ষ্য উপাদানটিতে যুক্ত করতে হবে।
আপনি এটি বাহ্যিক স্ক্রিপ্টগুলির জন্য করতে পারেন:
var newScript = document.createElement("script");
newScript.src = "http://www.example.com/my-script.js";
target.appendChild(newScript);
এবং ইনলাইন স্ক্রিপ্টগুলি:
var newScript = document.createElement("script");
var inlineScript = document.createTextNode("alert('Hello World!');");
newScript.appendChild(inlineScript);
target.appendChild(newScript);