এখানে কয়েকটি বিষয় রয়েছে। প্রথমত, আপনার উল্লেখ করা অ্যাসিঙ্ক লোড পদ্ধতি:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('jquery', '1.3.1');
google.setOnLoadCallback(function() {
// do stuff
});
</script>
কয়েকটি সমস্যা আছে। স্ক্রিপ্ট ট্যাগগুলি পুনরুদ্ধার করার সময় পৃষ্ঠা লোডটি বিরতি দেয় (প্রয়োজনে)। এখন তারা লোড করতে ধীর হয়ে থাকলে এটি খারাপ তবে jQuery ছোট। উপরের পদ্ধতির সাথে আসল সমস্যাটি হ'ল যেহেতু jquery.js লোডটি অনেক পৃষ্ঠার জন্য স্বতন্ত্রভাবে ঘটে থাকে, তারা jquery লোড হওয়ার আগে তারা লোডিং শেষ করবে এবং রেন্ডার করবে যাতে আপনার যে কোনও jquery স্টাইলিং ব্যবহারকারীর জন্য দৃশ্যমান পরিবর্তন হবে ।
অন্য উপায়টি হ'ল:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
কিছু সাধারণ উদাহরণ চেষ্টা করুন, যেমন একটি সাধারণ টেবিল রয়েছে এবং সেটটিঅনলয়েডক্যালব্যাক () পদ্ধতি বনাম $ (নথি)। প্রস্তুতি () সহ একটি স্ট্যাটিক jquery.min.js লোড সহ কোষগুলির পটভূমি হলুদ করে নিন। দ্বিতীয় পদ্ধতিতে কোনও লক্ষণীয় ঝাঁকুনি থাকবে না। প্রথম উইল। ব্যক্তিগতভাবে আমি মনে করি এটি কোনও ভাল ব্যবহারকারীর অভিজ্ঞতা নয়।
উদাহরণ হিসাবে এটি চালান:
<html>
<head>
<title>Layout</title>
<style type="text/css">
.odd { background-color: yellow; }
</style>
</head>
<body>
<table>
<tr><th>One</th><th>Two</th></tr>
<tr><td>Three</td><td>Four</td></tr>
<tr><td>Five</td><td>Six</td></tr>
<tr><td>Seven</td><td>Nine</td></tr>
<tr><td>Nine</td><td>Ten</td></tr>
</table>
<script src="http://www.google.com/jsapi"></script>
<script>
google.load("jquery", "1.3.1");
google.setOnLoadCallback(function() {
$(function() {
$("tr:odd").addClass("odd");
});
});
</script>
</body>
</html>
আপনি (উচিত) টেবিলটি উপস্থিত হওয়া দেখতে পাবেন এবং তারপরে সারিগুলি হলুদ হয়ে যাবে।
Google.load () পদ্ধতির সাথে দ্বিতীয় সমস্যাটি হ'ল এটি কেবলমাত্র সীমিত পরিসরের ফাইলের হোস্ট করে। এটি jquery এর জন্য সমস্যা কারণ এটি চূড়ান্তভাবে প্লাগ-ইন নির্ভর। যদি আপনি চেষ্টা করে কোনও <script src="...">
ট্যাগ সহ একটি jquery প্লাগইন অন্তর্ভুক্ত করেন এবং google.load()
প্লাগ-ইন সম্ভবত "jQuery সংজ্ঞায়িত নয়" এর বার্তাগুলিতে ব্যর্থ হবে কারণ এটি এখনও লোড হয়নি। আমি সত্যিই এই কাছাকাছি উপায় দেখতে পাচ্ছি না।
তৃতীয় সমস্যা (উভয় পদ্ধতি সহ) হ'ল তারা হ'ল একটি বাহ্যিক বোঝা। ধরে নিই আপনার কাছে কিছু প্লাগইন রয়েছে এবং আপনার নিজের জাভাস্ক্রিপ্ট কোড রয়েছে আপনার জাভাস্ক্রিপ্টটি লোড করার জন্য আপনি সর্বনিম্ন দুটি বাহ্যিক অনুরোধ আপ করতে পারেন। আপনি সম্ভবত jquery, সমস্ত প্রাসঙ্গিক প্লাগইনগুলি এবং আপনার নিজের কোড পেয়ে এবং এটি একটি মিনিফাইড ফাইলে রাখার চেয়ে আরও ভাল।
থেকে হোস্টিং জন্য উচিত Google এর ব্যবহার আয়াক্স লাইব্রেরি এপিআই? :
সময় লোড করার জন্য, আপনি আসলে দুটি স্ক্রিপ্ট লোড করছেন - জাসাপি স্ক্রিপ্ট এবং মটুলস স্ক্রিপ্ট (উপরের সংক্ষেপিত সংস্করণ)। সুতরাং এটি দুটি সংযোগ, বরং এক। আমার অভিজ্ঞতায়, আমি দেখতে পেলাম যে লোডের সময়টি আমার নিজের ব্যক্তিগত শেয়ার্ড সার্ভার থেকে লোডের তুলনায় আসলে ২-৩ গুণ কম ছিল, যদিও এটি গুগল থেকে আসছিল, এবং আমার সংকুচিত ফাইলটির সংস্করণ গুগলের চেয়ে কয়েক কে কে বড় ছিল। এটি, ফাইলটি লোড হওয়ার পরে এবং (সম্ভবত) ক্যাশে হওয়ার পরেও। সুতরাং আমার জন্য, যেহেতু ব্যান্ডউইথ খুব বেশি গুরুত্ব দেয় না, তেমন গুরুত্ব দেয় না।
সবশেষে আপনার কাছে কোনও ধরণের এক্সএসএস প্রচেষ্টা হিসাবে অনুরোধটি পতাকাঙ্কিত করে এমন একটি অদ্ভুত ব্রাউজারের সম্ভাব্য সমস্যা রয়েছে। এটি সাধারণত ডিফল্ট সেটিংসে সমস্যা হয় না তবে কর্পোরেট নেটওয়ার্কগুলিতে যেখানে ব্যবহারকারীরা কোন ব্রাউজার ব্যবহার করেন তার নিয়ন্ত্রণ থাকতে পারে না এমন সুরক্ষা সেটিংস আপনার সমস্যা হতে পারে।
সুতরাং শেষ পর্যন্ত আমি সত্যিই আমাকে jQuery এর জন্য গুগল এজ্যাক্স এপিআই ব্যবহার করতে দেখতে পাচ্ছি না (উদাহরণস্বরূপ পোস্টগুলি ব্যতীত কমপক্ষে (আরও "সম্পূর্ণ" এপিআইগুলি কিছু উপায়ে আলাদা গল্প))।
src
যে সরল / নিরাপদ / দ্রুত সিনট্যাক্সটিতে ব্যবহার করতে চান তা প্রস্তাব দিতে পারি? আপনার উত্তরটি মূলত ক্যানোনিকাল হয়ে গেছে এবং উভয় পরিবর্তনই লোকেদের দ্রুত যা আসে তা পেতে সহায়তা করবে।