দ্রষ্টব্য: একটি সময় বিলম্ব এড়ানোর জন্য নিম্নলিখিতটি ভাল - এটি ঠিক সময়ে। উদাহরণটি সাধারণত সমস্ত স্ক্রিপ্ট (এটি প্রয়োজন) দ্বারা ব্যবহার করা যেতে পারে তবে গ্রীসমনকি'র সাথে বিশেষত ব্যবহৃত হয়েছিল। এটি উদাহরণস্বরূপ গুগল চার্ট এপিআইও ব্যবহার করে তবে এই সমাধানটি অন্যান্য গুগল এপিআইগুলির বাইরে চলে যায় এবং কোনও স্ক্রিপ্ট লোড হওয়ার জন্য অপেক্ষা করতে আপনার যে কোনও জায়গায় ব্যবহার করা যেতে পারে।
কোনও গুগল চার্ট যুক্ত করতে গ্রীস্মোনকি ব্যবহার করার সময় কলব্যাকের সাহায্যে গুগল ডট লোড ব্যবহার করা সমস্যার সমাধান করেনি। প্রক্রিয়াতে (গ্রিজমোনকি পৃষ্ঠাতে ইনজেকশন করা), www.google.com/jsapi স্ক্রিপ্ট নোড যুক্ত করা হয়। গুগলের জাসাপি জাভাস্ক্রিপ্টের জন্য এই উপাদানটি যুক্ত করার পরে, ইনজেক্টেড (বা পৃষ্ঠা) স্ক্রিপ্টটি গুগল.লোড কমান্ড (যা যুক্ত নোডে লোড করা দরকার) ব্যবহার করতে প্রস্তুত, তবে এই জাসাপি স্ক্রিপ্টটি এখনও লোড হয়নি। সময়সীমা নির্ধারণের কাজটি করা হয়েছে, তবে সময়সীমাটি কেবল ইনজেকশিত / পৃষ্ঠা স্ক্রিপ্ট সহ গুগল জাসাপি স্ক্রিপ্ট লোডের সময়কালীন দৌড়ের জন্য একটি কর্মসীমা ছিল। যেখানে কোনও স্ক্রিপ্ট google.load (এবং সম্ভবত google.setOnLoadCallback) সম্পাদন করে সেখানে ঘোরাফেরা সময় দৌড় পরিস্থিতিকে প্রভাবিত করতে পারে। নীচে google.load কল করার আগে গুগল স্ক্রিপ্ট উপাদানটি লোড হওয়ার জন্য অপেক্ষা করে এমন একটি সমাধান নিখুঁত করেছে। এখানে একটি উদাহরণ:
// ********* INJECTED SCRIPT *********//
// add element
var gscript = document.createElement('script');
gscript.setAttribute("type", "application/javascript");
gscript.setAttribute("id", "XX-GMPlusGoogle-XX");
document.body.appendChild(gscript);
// event listener setup
gscript.addEventListener("load",
function changeCB(params) {
gscript.removeEventListener("load", changeCB);
google.load("visualization", "1", {packages:["corechart"], "callback":
function drawChart() {
var data;
// set the durationChart data (not in example)
data = new google.visualization.arrayToDataTable(durationChart);
var options = {
title:"Chart Title",
legend: {position:"none"},
backgroundColor:"white",
colors:["white","Blue"],
width: window.innerWidth || document.body.clientWidth,
height: window.innerHeight || document.body.clientHeight,
vAxis: {title: "Durations", baselineColor: "black", textStyle:{fontSize:12}},
hAxis: {title: "Days Since First Instance"},
height: ((cnt > 5)? cnt * 50 : 300),
isStacked: true
}; // options
// put chart into your div element
var chart = new google.visualization.BarChart(document.getElementById('XX-ChartDiv-XX'));
chart.draw(data, options);
} // drawChart function
}); //packages within google.load & google load
} // callback changeCB
);
// can use SSL as "https://www.google.com/jsapi";
gscript.src = "http://www.google.com/jsapi";