আপনি কোথা থেকে jQuery লাইব্রেরি অন্তর্ভুক্ত করবেন? গুগল জাসাপি? যা CDN?


242

JQuery এবং jQuery UI অন্তর্ভুক্ত করার কয়েকটি উপায় রয়েছে এবং আমি ভাবছি লোকেরা কী ব্যবহার করছে?

  • গুগল জেএসপিআই
  • jQuery এর সাইট
  • আপনার নিজস্ব সাইট / সার্ভার
  • অন্য সিডিএন

আমি সম্প্রতি গুগল জেএসপিআই ব্যবহার করে এসেছি তবে দেখেছি যে কোনও এসএসএল সংযোগ স্থাপন করতে এমনকি কেবল গুগল ডটকমকে সমাধান করতে অনেক সময় লাগে। আমি গুগলের জন্য নিম্নলিখিতগুলি ব্যবহার করে যাচ্ছি:

<script src="https://www.google.com/jsapi"></script>
<script>
google.load('jquery', '1.3.1');
</script>

আমি গুগল ব্যবহারের ধারণাটি পছন্দ করি যাতে এটি অন্য সাইটগুলিতে পরিদর্শন করার সময় এবং আমাদের সার্ভার থেকে ব্যান্ডউইদথ সংরক্ষণ করার জন্য ক্যাশেড থাকে তবে যদি এটি সাইটের ধীর অংশ হয়ে থাকে তবে আমি অন্তর্ভুক্তটি পরিবর্তন করতে পারি।

তুমি কি ব্যবহার কর? আপনার কোন সমস্যা আছে?

সম্পাদনা করুন: সবেমাত্র jQuery এর সাইট পরিদর্শন করেছেন এবং তারা নিম্নলিখিত পদ্ধতিটি ব্যবহার করেন:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>

সম্পাদনা 2: আমি কীভাবে গত বছরের জন্য কোনও সমস্যা ছাড়াই jQuery অন্তর্ভুক্ত করেছি তা এখানে:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>

পার্থক্য অপসারণ http:। এটি মুছে ফেলার মাধ্যমে, আপনাকে http এবং https এর মধ্যে স্যুইচিংয়ের বিষয়ে চিন্তা করার দরকার নেই।


8
ড্যারিল, দুর্দান্ত সম্পাদনা। আমি কি আপনাকে নিজের সম্পাদনাটি পৃষ্ঠার শীর্ষে স্থানান্তরিত করতে এবং আপনি এখন srcযে সরল / নিরাপদ / দ্রুত সিনট্যাক্সটিতে ব্যবহার করতে চান তা প্রস্তাব দিতে পারি? আপনার উত্তরটি মূলত ক্যানোনিকাল হয়ে গেছে এবং উভয় পরিবর্তনই লোকেদের দ্রুত যা আসে তা পেতে সহায়তা করবে।
জোশ স্মিথ

উত্তর:


153

কোনও সন্দেহ ছাড়াই আমি গুগল এপিআই সার্ভার দ্বারা জিকুয়েরি পরিবেশন করা পছন্দ করি। আমি জাসাপি পদ্ধতিতে যাইনি যেহেতু আমি অন্য কোনও গুগল এপিআইয়ের সুবিধা অর্জন করি না, তবে যদি তা যদি কখনও পরিবর্তিত হয় তবে আমি এটিকে বিবেচনা করব ...

প্রথম: গুগল এপি সার্ভারগুলি আমার একক সার্ভারের অবস্থানের পরিবর্তে বিশ্বজুড়ে বিতরণ করা হয়: ক্লোজার সার্ভারগুলি সাধারণত দর্শকের জন্য দ্রুত প্রতিক্রিয়া বারের অর্থ।

দ্বিতীয়: অনেকে গুগলে জিকুয়েরি হোস্ট করা পছন্দ করেন, তাই যখন আমার সাইটটিতে কোনও দর্শক আসে তখন তাদের স্থানীয় ক্যাশে ইতিমধ্যে জিকুয়েরি স্ক্রিপ্ট থাকতে পারে। প্রাক-ক্যাশেড সামগ্রীটি সাধারণত দর্শকের জন্য দ্রুত লোডের সময় বোঝায়।

তৃতীয়: আমার ওয়েব হোস্টিং সংস্থা ব্যবহৃত ব্যান্ডউইথের জন্য আমাকে চার্জ করে। যদি ভিজিটর অন্য কোথাও একই ফাইলটি পেতে পারেন তবে ব্যবহারকারীদের প্রতি 18 কে ব্যবহার করার কোনও অর্থ নেই।

আমি বুঝতে পারি যে আমি সঠিক স্ক্রিপ্ট ফাইলটি পরিবেশন করতে এবং অনলাইনে এবং উপলব্ধ থাকার জন্য গুগলের উপর আস্থার একটি অংশ রেখেছি। এই মুহুর্তে আমি গুগল ব্যবহার করে হতাশ হইনি এবং যতক্ষণ না তা বোঝা যায় ততক্ষণ এই কনফিগারেশনটি চালিয়ে যাব।

একটি বিষয় উল্লেখ করার মতো ... যদি আপনার সাইটে সুরক্ষিত এবং সুরক্ষিত পৃষ্ঠাগুলির মিশ্রণ থাকে তবে আপনি কোনও সুরক্ষিত পৃষ্ঠায় অনিরাপদ সামগ্রী লোড করার সময় যে সতর্কতাটি দেখেন তা এড়াতে আপনি গুগল উত্সকে গতিশীল পরিবর্তন করতে চাইতে পারেন:

আমি এখানে যা এলাম তা এখানে:

<script type="text/javascript">
    document.write([
        "\<script src='",
        ("https:" == document.location.protocol) ? "https://" : "http://",
        "ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js' type='text/javascript'>\<\/script>" 
    ].join(''));
</script>

আপডেট 9/8/2010 - এইচটিটিপি এবং এইচটিটিপিএস অপসারণ করে কোডটির জটিলতা হ্রাস করার জন্য এবং নীচের বাক্য গঠনটি কেবলমাত্র ব্যবহার করার জন্য কিছু পরামর্শ দেওয়া হয়েছে:

<script type="text/javascript">
    document.write("\<script src='//ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js' type='text/javascript'>\<\/script>");
</script>

এছাড়াও আপনি jQuery লাইব্রেরিগুলির সর্বশেষতম সংস্করণটি লোড হয়েছে কিনা তা নিশ্চিত করতে চাইলে jQuery প্রধান সংখ্যাকে প্রতিবিম্বিত করতে url পরিবর্তন করতে পারেন:

<script type="text/javascript">
    document.write("\<script src='//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js' type='text/javascript'>\<\/script>");
</script>

অবশেষে, আপনি যদি গুগল ব্যবহার করতে না চান এবং jQuery পছন্দ করেন তবে আপনি নিম্নলিখিত উত্স পাথটি ব্যবহার করতে পারেন (মনে রাখবেন যে jQuery এসএসএল সংযোগগুলি সমর্থন করে না):

<script type="text/javascript">
    document.write("\<script src='http://code.jquery.com/jquery-latest.min.js' type='text/javascript'>\<\/script>");
</script>

26
আমি আপনার তিনটি কারণে সম্মত হয়েছি যার কারণে আমি আমার প্রোডাকশন সাইটগুলিতে গুগল থেকে জেকারি অন্তর্ভুক্ত করি। এসএসএল পৃষ্ঠাগুলির জন্য জেএস ডায়নামিক ইনজেকশনের পরিবর্তে আমি প্রোটোকল নির্দিষ্ট না করে কেবল একটি স্ক্রিপ্ট ট্যাগে url উল্লেখ করি। আমার জন্য ভাল কাজ মনে হচ্ছে। <লিপি src = "// ajax.google ..."> </script>
অ্যারন ওয়াগনার

1
আকর্ষণীয় ধারণা ... তবে আপনি যদি জিকুয়েরি লোড হাইজ্যাক করার জন্য ডিএনএসের বিষ প্রয়োগ করতে যাচ্ছেন তবে কেবলমাত্র পুরো সাইটের অনুরোধটিকে হাইজ্যাক করবেন না কেন? বা গুগল অ্যানালিটিক্স স্ক্রিপ্ট সম্পর্কে?
ডিসকোডাক

9
আমি বিষয়গুলির সরলীকরণ ব্যতীত সমস্ত কিছুর সাথেও একমত, আমি এই ফর্ম্যাটটি ব্যবহার করি: <স্ক্রিপ্ট src = "// ajax.google ..."> </script>। তারপরে আমার HTTP বা https নিয়ে চিন্তা করার দরকার নেই। থেক্সস অ্যারন ওয়াগনার তার জন্য
ড্যারিল হেইন

11
দেখছি না কি document.write()ব্যবহার হচ্ছে? একটি সরল <script src="..."></script>হেডারে রাখা ঠিক আছে। → @ ডিস্কোডাক: ← এটি দ্রুত হতে চলেছে না, কেবল সেই সতর্কতা বার্তাটি সরিয়ে নিয়ে যাচ্ছে। যদি আপনার সাইটটি সুরক্ষিত https ব্যবহার করে এবং আপনি একটি এনকোডযুক্ত সামগ্রী (যেমন http://googleapis) থেকে টানছেন তবে আপনি সেই সতর্কতা বার্তাটি পাবেন। আপনি কেবল এইচটিপি ব্যবহার করছেন তবে আপনি সংযোগ করছেন তবে কিছুটা দ্রুততর কী হবে https://googleapis, "সুরক্ষিত" এনকোডিংয়ের সাথে সামান্য ওভারহেড রয়েছে। সুতরাং, লিঙ্কিংটি আরও http://googleapisদ্রুত হবে।
vol7ron

5
এছাড়াও মনে রাখবেন যে এরপরে গুগল ব্যবহারকারীদের যে ওয়েবসাইটগুলিতে যায় সেগুলি ট্র্যাক করতে এটি ব্যবহার করবে। সুতরাং আপনি যদি এমন কোনও ওয়েবসাইট তৈরি করছেন যা গোপনীয়তা সম্পর্কে সচেতন হওয়া দরকার, তবে গোপনীয়তার জন্য অর্থ প্রদানের জন্য কয়েকটি ছোট ফাইল হোস্ট করা একটি ছোট দাম।
হ্যান্স-ক্রিস্টোফ স্টেইনার

19

আপনি একটি বাহ্যিক সার্ভারে হোস্ট করতে চাইতে পারেন তার একটি কারণ হ'ল নির্দিষ্ট সার্ভারের সাথে সংযোগের ব্রাউজারের সীমাবদ্ধতাগুলি ঘিরে কাজ করা।

তবে, আপনি যে jQuery ফাইলটি ব্যবহার করছেন তা সম্ভবত খুব প্রায়ই পরিবর্তিত হবে না, ব্রাউজারের ক্যাশে বেশ লম্বা হবে এবং সেই অংশটি বেশিরভাগ অংশে পরিণত করবে।

বাহ্যিক সার্ভারে এটিকে হোস্ট করার দ্বিতীয় কারণ হ'ল আপনার নিজের সার্ভারে ট্রাফিক হ্রাস করা।

যাইহোক, jQuery আকার দেওয়া, এটি আপনার ট্র্যাফিক একটি ছোট অংশ হতে পারে সম্ভাবনা। আপনার সম্ভবত আপনার আসল সামগ্রীটি অপ্টিমাইজ করার চেষ্টা করা উচিত।


1
অন্য কারণগুলি- প্রতিক্রিয়াগুলি হ'ল ব্যবহারকারীরা ইতিমধ্যে গুগল থেকে তাদের ক্যাশে জ্যাকেইরি পেয়েছেন, তাই আপনার সাইটটিতে প্রথমবার দেখার জন্য তাদের এটিকে ডাউনলোড করার দরকারও পড়তে পারে না ।
কিপ

14

jQuery 1.3.1 মিনিট আকারে কেবল 18k। আমি মনে করি না যে এটি প্রাথমিক পৃষ্ঠা লোডটি জিজ্ঞাসা করার জন্য হিট খুব বেশি। এটি পরে ক্যাশে করা হবে। ফলস্বরূপ, আমি এটি নিজেই হোস্ট করি।


7
আমি আপনার বর্ণিত কারণের ভিত্তিতে শ্রদ্ধার সাথে একমত নই। যদি আপনি প্রচুর ট্র্যাফিক পান তবে সেশনের প্রতি 18 কে দ্রুত পরিমাণে ট্র্যাফিক যোগ করতে পারে। বিশেষত যদি আপনার ওয়েব হোস্টিং চার্জ ব্যান্ডউইথ দ্বারা ব্যবহৃত হয় ...
Dscoduc

1
আমার দর্শনটি কেবলমাত্র উদ্বেগের বিষয় যদি আপনার দর্শক কেবল একটি পৃষ্ঠায় দেখেন। আপনার প্রোফাইলটি যদি কম দর্শক এবং একাধিক পৃষ্ঠা-দর্শন হয় তবে দর্শকদের জন্য পৃষ্ঠা-দর্শন জুড়ে ছড়িয়ে গেলে ন্যূনতম ওভারহেড। প্রত্যাবর্তন দর্শনার্থীদের জন্য দিতো।
ক্রিস্টেন

2
আপনার ওয়েবসাইটটি একেবারেই ক্ষুদ্র না হলে, 18 কে সর্বদা আপনার ট্র্যাফিকের একটি ক্ষুদ্র অংশ হয়ে থাকবে।
হ্যান্স-ক্রিস্টোফ স্টেইনার

14

আপনি যদি গুগল ব্যবহার করতে চান তবে সরাসরি লিঙ্কটি আরও প্রতিক্রিয়াশীল হতে পারে। প্রতিটি লাইব্রেরিতে সরাসরি ফাইলের জন্য তালিকাভুক্ত পাথ থাকে। এটি jQuery পাথ

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>

কেবল আপনার প্রশ্নটি আবার পড়ুন, আপনি https ব্যবহার করার কোনও কারণ আছে? এটি হ'ল স্ক্রিপ্ট ট্যাগ হ'ল গুগল তালিকাগুলি example

<script src="http://www.google.com/jsapi"></script>

3
এইচটিটিপিএস ব্যবহার করে কারণ সাইটটি এইচটিটিপিএস, তাই কিন্ডা করতে হবে।
ড্যারিল হেইন

1
আপনার সমস্ত সামগ্রী https ভিত্তিক, বা এর কিছু রয়েছে?
ডিসকোডাক

2
https সাইটগুলিতে HTTP লিঙ্কগুলি বিরক্তিকর কারণ IE (কমপক্ষে ডিফল্ট হিসাবে) আপনাকে বিরক্তিকর সাথে বাগড করে তোলে "এই সাইটে সুরক্ষিত এবং নিরাপত্তাহীন সামগ্রীর মিশ্রণ রয়েছে" " নিশ্চিতকরণ বাক্স
ক্লিটাস

1
কোডটি যে সাইট থেকে এসেছে তা সম্পূর্ণ এসএসএল - অত্যন্ত সুরক্ষিত যোগাযোগের তথ্য।
ড্যারিল হেইন

1
আপনি যদি আপনার ব্যবহারকারীদের সুরক্ষা সম্পর্কে কিছুটা বিবেচনা করেন তবে জাভাস্ক্রিপ্টের জন্য সর্বদা এইচটিটিপিএস ব্যবহার করুন। এইচটিটিপিএস ব্যতীত, জাভাস্ক্রিপ্ট যে আপনি লোকদের কাছে প্রেরণ করতে চান সেই পাশের অনুরোধগুলি ম্যান-ইন-দ্য মিডল (এমআইটিএম) করা সহজ এবং সহজেই কার্যকর। সম্ভব এমআইটিএম লোকেশন হিসাবে পাবলিক ওয়াইফাই, হ্যাক হোম রাউটারগুলি ইত্যাদি ভাবেন। এই সমস্ত পিডএন-টু-নিজস্ব প্রতিযোগিতাগুলি দেখুন: তারা সর্বদা প্রবেশ করার জন্য ব্রাউজারটি কাজে লাগায়
হ্যান্স-ক্রিস্টোফ স্টেইনার

8

আমি কোনও বহিরাগত সাইটের উপর নির্ভর করতে আমার বিকাশযুক্ত কোনও পাবলিক সাইট চাইব না এবং এইভাবে আমি নিজে jQuery হোস্ট করব।

অন্য (গুগল, jquery.com, ইত্যাদি) নীচে নেমে গেলে আপনি কি আপনার সাইটে বিস্তীর্ণ হতে ইচ্ছুক? কম নির্ভরতা কী।


2
আমি ব্যবহারের অভিজ্ঞতা (দ্রুত লোডের সময়) ঠিক সেখানে কম নির্ভরতা সহ রেখেছি।
ডিসকোডুক

1
@ স্লাইস আরে আপনার সাইটটি নিচে! আসলে জে কে, তবে আমি লক্ষ্য করেছি যে আপনি গুগল অ্যানালিটিক্স ব্যবহার করছেন এবং শেষের পরিবর্তে তাদের স্ক্রিপ্ট রয়েছে - যা গুগল আইএস ধীর হয়ে থাকলে আপনার সাইটকে ভগ্নাংশে কমিয়ে দেবে
সাইমন_উইভার

3
হুঁ ... তুচ্ছতা গুগল অ্যানালিটিক্স ব্যবহার করছে? তিনি কি কেবল বলেন নি যে কোনও বাহ্যিক সাইটের উপর নির্ভর করার জন্য তিনি যে কোনও পাবলিক সাইট তৈরি করেছেন তা তিনি চান না? ;-)
ডিসকোডাক

1
বাহ, বন্ধু, কিছু কঠোর মন্তব্য সেখানে। :) হ্যাঁ, আমি আমার ব্যক্তিগত ব্লগে অ্যানালিটিক্স ব্যবহার করি, তবে এটি কোনও উত্পাদন সাইট নয় যা আয় উপার্জন করে, তাই আমি মনে করি এটি সত্যিই ঠিক আছে। আমি নিশ্চিত যে আমার সাইটটি প্রতি বছর অনেক দিন বন্ধ রয়েছে। মনে রাখবেন, ব্যক্তিগত সাইট এবং কাজের জন্য আপনি যা করেন তা একই নয়
ফালতু

6
স্থানীয় অনুলিপি ব্যবহার করার অন্যান্য আরও ভাল কারণ রয়েছে: গুগল ইরান, চীন ইত্যাদি অনেক দেশে প্রায়শই অবরুদ্ধ থাকে তাই এর অর্থ দাঁড়ায় যে প্রায় এক বিলিয়ন লোকের অ্যাক্সেস থাকবে না।
হ্যান্স-ক্রিস্টোফ স্টেইনার

6

পেশাদাররা: গুগলে হোস্টের সুবিধা রয়েছে

  • সম্ভবত দ্রুত (তাদের সার্ভারগুলি আরও অনুকূলিত)
  • তারা ক্যাশিংটি সঠিকভাবে পরিচালনা করে - 1 বছর (আমাদের সার্ভারে শিরোনামগুলি পেতে পরিবর্তনগুলি করার অনুমতি দেওয়ার জন্য আমরা সংগ্রাম করি)
  • ইতিমধ্যে অন্য ডোমেনে গুগল-হোস্ট করা সংস্করণটির লিঙ্ক থাকা ব্যবহারকারীদের ইতিমধ্যে তাদের ক্যাশে ফাইল রয়েছে

কনস:

  • কিছু ব্রাউজার এটি এক্সএসএস ক্রস-ডোমেন হিসাবে দেখতে পারে এবং ফাইলটিকে অস্বীকার করে।
  • বিশেষত ব্যবহারকারীরা ফায়ারফক্সের জন্য NoScript প্লাগইন পরিচালনা করছেন

আমি ভাবছি আপনি গুগল থেকে অন্তর্ভুক্ত করতে পারেন, এবং তারপরে কিছু গ্লোবাল ভেরিয়েবল, বা সামসুচের উপস্থিতি এবং যদি আপনার সার্ভার থেকে অনুপস্থিত লোড পরীক্ষা করতে পারেন?


3
এটা তোলে ফায়ারফক্সের কনস, Google এর, যায়)।
Nakilon

6

এখানে কয়েকটি বিষয় রয়েছে। প্রথমত, আপনার উল্লেখ করা অ্যাসিঙ্ক লোড পদ্ধতি:

<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 এর জন্য গুগল এজ্যাক্স এপিআই ব্যবহার করতে দেখতে পাচ্ছি না (উদাহরণস্বরূপ পোস্টগুলি ব্যতীত কমপক্ষে (আরও "সম্পূর্ণ" এপিআইগুলি কিছু উপায়ে আলাদা গল্প))।


আপনার উল্লিখিত সমস্যাগুলির মধ্যে আমি অভিজ্ঞতা অর্জন করি নি। জিনিসগুলি সঠিক ক্রমে লোড করা যতদূর আমি বুঝতে পেরেছি ঠিক তেমন সবকিছু সমাধান করবে।
ড্যারিল হেইন

4

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


4

গুগলে হোস্ট করা লাইব্রেরিগুলির জন্য আমাকে ভোট দিতে হবে -1। তারা এই লাইব্রেরির চারপাশে তাদের মোড়ক সহ ডেটা, গুগল অ্যানালিটিক্স স্টাইল সংগ্রহ করছে are সর্বনিম্ন, আমি কোনও ক্লায়েন্ট ব্রাউজারটি এটি করতে বলার চেয়ে বেশি কিছু করতে চাই না, পৃষ্ঠাতে অন্য কিছু কম। আরও খারাপ, এটি খারাপ না হওয়ার গুগলের "নতুন সংস্করণ" - অধিক ব্যবহারের ডেটা সংগ্রহ করার জন্য অবিরাম জাভাস্ক্রিপ্ট ব্যবহার করে cript

দ্রষ্টব্য: তারা যদি এই অনুশীলনটি পরিবর্তন করে থাকে তবে সুপার। তবে শেষবার যখন আমি তাদের হোস্ট করা লাইব্রেরিগুলি ব্যবহার করার কথা বিবেচনা করেছি, তখন আমি আমার সাইটে আউটবাউন্ড HTTP ট্রাফিক পর্যবেক্ষণ করেছি এবং গুগল সার্ভারগুলিতে পর্যায়ক্রমিক কলগুলি আমার দেখার প্রত্যাশা ছিল না।


তবে আপনি কি ইতিমধ্যে আপনার সাইটে গুগল অ্যানালিটিকস চালাচ্ছেন? আমি যেহেতু আমি অনুমান করি না যে
জিকুয়েরি

তবে এটি 1 বছরের জন্য ক্যাশেড - আমরা কি এর মধ্যে গুগলে 304 "ফাইল পরিবর্তন করা" পাঠাচ্ছি?
ক্রিসটেন

হ্যাঁ, আমি সেই পর্যায়ক্রমিক কলগুলিও আবার গুগলে ফিরে দেখেছি (সাফারির ক্রিয়াকলাপ পরিচালকের একটি দুর্দান্ত তালিকা রয়েছে)।
ড্যারিল হেইন

ডিস্কোডাক - হ্যাঁ, অ্যানালিটিক্স ব্যবহার করে। কমপক্ষে এই প্রয়োগের সাথে সাথে, আমি সময়ের আগেই বুঝতে পেরেছিলাম যে আমি ব্যবহারের ডেটা ছেড়ে দিচ্ছি। জেএস libs সঙ্গে তাই না।
jro

3

আমি এই সম্পর্কে পুরানো স্কুল হতে পারে, কিন্তু আমি এখনও হটলিংকিংয়ে ভ্রান্ত। সম্ভবত গুগল ব্যতিক্রম, তবে সাধারণভাবে, আপনার নিজের সার্ভারে ফাইলগুলি হোস্ট করার পক্ষে এটি কেবলমাত্র ভাল আচরণ man


3
"ভাল আচরণ" বলতে কী বোঝ? গুগল আপনাকে তাদের সার্ভারে লিঙ্ক করতে উত্সাহ দেয়। এটি গুগলের অবিশ্বাস্য অবকাঠামো দ্বারা ছড়িয়ে পড়ে।
নসরেডনা

2
আপনি গুগল ব্যবহারের কথা শুনে প্রথমে অবশ্যই একটি বিভ্রান্তি দেখা দিয়েছে। তবে নোসরেডেনা বলেছিলেন যে এটি উত্সাহিত হয়েছে "আমরা গ্রন্থাগারগুলি হোস্ট করা, সঠিকভাবে ক্যাশে শিরোনাম স্থাপন, অতি সাম্প্রতিক বাগ ফিক্স ইত্যাদির সাথে আপ টু ডেট থাকা ইত্যাদি ব্যথাটি উপস্থাপন করছি ।" - কোড. google.com/apis/ajaxlibs
সাইমন_উইভার

3

আমি স্থানীয়ভাবে এই ফাইলগুলি হোস্ট করার কারণ হিসাবে এটি যুক্ত করব।

সম্প্রতি টিডাব্লুসি-র দক্ষিণ ক্যালিফোর্নিয়ায় একটি নোড কেবলমাত্র বাহ্যিক ফাইলগুলি পাচ্ছি না এজেন্ট (আইপিভি 4 সহ ব্যবহারকারীদের জন্য) ajax.googleapis.com ডোমেনটি সমাধান করতে সক্ষম হয়নি। গতকাল অবধি এটি মধ্যবর্তী ছিল (এখন এটি দৃ pers়প্রতিজ্ঞ)) কারণ এটি অন্তর্বর্তী ছিল, আমি সাস ব্যবহারকারীর সমস্যাগুলির সমস্যা সমাধানের জন্য প্রচুর সমস্যায় পড়ছিলাম। কিছু ব্যবহারকারী কেন সফ্টওয়্যার নিয়ে কোনও সমস্যা না করছিল এবং অন্যরা ট্যাঙ্ক করছে তা ট্র্যাক করার চেষ্টা করে অগণিত সময় ব্যয় করেছিল। আমার স্বাভাবিক ডিবাগিং প্রক্রিয়াতে আমি কোনও ব্যবহারকারীকে আইপিভি turned বন্ধ আছে কিনা তা জিজ্ঞাসা করার অভ্যাসে নেই।

আমি সমস্যাটিতে হোঁচট খেয়েছি কারণ আমি নিজেই এই বিশেষ "রুট" ফাইলটি ব্যবহার করেছিলাম এবং কেবলমাত্র আইপিভি 4 ব্যবহার করছি। আমি ডেভেলপারদের সরঞ্জামগুলির সাথে ইস্যুটি আবিষ্কার করেছি আমাকে বলছে যে jquery লোড হচ্ছে না, তারপরে সত্যিকারের সমস্যাটি অনুসন্ধান করার জন্য ট্রেস্রোয়েটস ইত্যাদি করা শুরু করল।

এর পরে, আমি সম্ভবত বাহ্যিকভাবে হোস্ট করা ফাইলগুলিতে আর কখনও ফিরে যাব না কারণ: সমস্যাটি হওয়ার জন্য গুগলকে এগুলি নেমে যেতে হবে না, এবং ... এই নোডগুলির মধ্যে যে কোনও একটি ডিএনএস হাইজ্যাকের সাথে আপস করে এবং দূষিত জেএস সরবরাহ করতে পারে can পরিবর্তে আসল ফাইল। সর্বদা ভেবেছিলাম যে আমি নিরাপদ ছিলাম যে কোনও গুগল ডোমেন কখনই নামবে না, এখন আমি জানি যে কোনও ব্যবহারকারীর এবং হোস্টের মধ্যে কোনও নোড ব্যর্থ বিন্দু হতে পারে।


2

আমি কেবল jQuery সাইট থেকে সর্বশেষতম সংস্করণটি অন্তর্ভুক্ত করেছি: http://code.jquery.com/jquery-latest.pack.js এটি আমার প্রয়োজন অনুসারে এবং আমাকে আপডেট করার বিষয়ে কখনই চিন্তা করতে হবে না।

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


1
আমাকে সেই পদ্ধতিটি কিন্ডা বিপজ্জনক বলে মনে হয়েছিল, লাইব্রেরিতে কোনও কোড পরিবর্তন যদি আপনার সাইটটি ভেঙে দেয় তবে কী হবে? বা jquery সাইট নিচে যায়? আমি বরং ফাইলের উপর সম্পূর্ণ নিয়ন্ত্রণ রাখতে চাই।
জেসন মিজিয়নসেকজ

1
এছাড়াও, আমি jQuery লোকদের ব্যান্ডউইথকে এইভাবে আঘাত করতে ঘৃণা করি। তারা ইতিমধ্যে একটি দুর্দান্ত নিখরচায় সরঞ্জাম সরবরাহ করেছে এবং আমি ব্যান্ডউইথের ব্যয়ের কারণে তাদের নিচে যেতে ঘৃণা করব। আপনি নিজেরাই এটি হোস্ট করতে না চাইলে আপনার বাহ্যিক উত্স হিসাবে গুগল ব্যবহার করা আরও ভাল, যেহেতু তারা সে উদ্দেশ্যে এটি সরবরাহ করছে।
nezroy

আমি জিকুয়েরির পরিবর্তে গুগল ব্যবহার করতে স্যুইচআপ করার পরামর্শ দেব। মূল কারণটি হ'ল গুগলের কাছে জিকুয়েরির চেয়ে বিশ্বজুড়ে আরও অনেক সার্ভার থাকবে এবং আমার অভিজ্ঞতা থেকে আরও লোকেরা গুগল হোস্টিং ব্যবহার করে যা আপনার ইতোমধ্যে এটি ক্যাশে যাওয়ার সুযোগ বাড়িয়ে তোলে।
ডিসকোডাক

আমি জেসনের সাথে একমত, স্বয়ংক্রিয়ভাবে নতুন সংস্করণে স্যুইচ করা খুব বিপজ্জনক। আপনি কেবল jquery ব্যবহার করলে সম্ভবত যতটা সম্ভব নয়, তবে প্লাগইনগুলির সাথে আমি অবশ্যই এটির পরামর্শ দেব না। আমি একটি সাইটে একটি প্লাগইন ব্যবহার করি যা 1.2.6 এর সাথে কাজ করে তবে 1.3.x নয় (এখনও ...)
জিরোইন

2

এখানে কিছু দরকারী সংস্থান, আশা আপনাকে আপনার সিডিএন চয়ন করতে সহায়তা করতে পারে। এমএস সম্প্রতি তাদের সিডিএন সরবরাহের জন্য লাইব্রেরিগুলির জন্য নতুন ডোমেন যুক্ত করেছে।

ওল্ড ফর্ম্যাট: http://ajax.microsoft.com/ajax/jQuery/jquery-1.5.1.js নতুন ফর্ম্যাট: http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.js

এটি মাইক্রোসফট.কমের জন্য সমস্ত কুকিজ প্রেরণ করা উচিত নয়। http://www.asp.net/ajaxlibrary/cdn.ashx#Using_jQuery_from_the_CDN_11

সমস্ত প্রযুক্তি জুড়ে ওয়েবে ব্যবহৃত সর্বাধিক জনপ্রিয় প্রযুক্তি সম্পর্কে কিছু পরিসংখ্যান। http://trends.builtwith.com/

আশা আপনাকে চয়ন করতে সাহায্য করতে পারে।


1

আমি যদি 'লাইভ' সাইটের দায়বদ্ধ হয়ে থাকি তবে আমার সাইটে যা চলছে এবং যা চলছে তার সম্পর্কে আমি আরও ভালভাবে সচেতন হই। সেই কারণে আমি নিজেই jquery-min সংস্করণটি একই সার্ভার বা একটি স্ট্যাটিক / বাহ্যিক সার্ভারে হোস্ট করি তবে যেখানেই কেবলমাত্র আমি (বা আমার প্রোগ্রাম / প্রক্সি) প্রতিটি পরিবর্তন যাচাই / পরীক্ষার পরে গ্রন্থাগারটি আপডেট করতে পারি


আমি আশা করব যে গুগল ফাইলটি কখনই পরিবর্তন করতে পারবে না - বাগ-ফিক্সের জন্য তারা একটি নতুন ফাইল হোস্ট করবে, ফাইলের বিভিন্ন সংস্করণ নম্বর সহ। নাকি আমি নিরীহ হয়ে যাচ্ছি? তারা কি একই ফাইলের নাম ব্যবহার করে "মাইনর ফিক্সগুলি" রোলআউট করবে ??
ক্রিসটেন

আপনি একটি নির্দিষ্ট সংস্করণ চাইলে গুগলের ফাইলটি কখনই পরিবর্তন করা উচিত নয়।
ড্যারিল হেইন

1

মাথায়:

  (function() {
    var jsapi = document.createElement('script'); jsapi.type = 'text/javascript'; jsapi.async = true;
    jsapi.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'www.google.com/jsapi?key=YOUR KEY';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('head')[0]).appendChild(jsapi);
  })();

শরীরের শেষ:

<script type="text/javascript">
google.load("jquery", "version");
</script>

0

আমি আমার নিজের সার্ভারে আমার অন্যান্য জেএস ফাইলগুলির সাথে এটি হোস্ট করি এবং এটি সেই বিন্দুটি, তাদের একত্রিত এবং সংশোধন করে (জ্যাঙ্গো-কম্প্রেসার সহ, এখানে, তবে এটি বিন্দু নয়) সাইটের সমস্ত কিছু সহ কেবল একটি জেএস ফাইল হিসাবে পরিবেশন করা হবে এটি করা প্রয়োজন। আপনার নিজের জেএস ফাইলগুলি যেভাবেই পরিবেশন করতে হবে, তাই আমি সেখানে অতিরিক্ত জেকারি বাইটগুলি যুক্ত না করার কোনও কারণ দেখতে পাচ্ছি না - আরও কিছু অনুরোধ করার চেয়ে আরও কিছু কেবিএস হস্তান্তর করার জন্য আরও সস্তা। আপনি কারও উপর নির্ভরশীল নন এবং আপনার মিনিডেড জেএস ক্যাশ হওয়ার সাথে সাথে আপনি খুব দ্রুত।

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

আমি অবাক হয়ে দেখি কীভাবে এই বিন্দুটির প্রায়শই উল্লেখ করা হয়নি, এবং সিডিএনগুলি কীভাবে বিশ্বকে দখল করবে বলে মনে হচ্ছে :)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.