جاوااسکریپت - کتابخانه jQuery را از کجا وارد میکنید؟ Google JSAPI؟ CDN؟


چند روش برای وارد کردن jQuery و jQuery UI وجود دارد و من کنجکاوم بدانم مردم از چه روشی استفاده میکنند؟

  • گوگل JSAPI
  • سایت jQuery
  • وبسایت/سرور خودتان
  • یک CDN دیگر

من اخیراً از Google JSAPI استفاده میکنم، اما دریافتهام که برقراری یک اتصال SSL یا حتی فقط حل کردن google.com زمان زیادی میبرد. من برای گوگل از موارد زیر استفاده کردهام:

<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>

ویرایش۲: اینگونه است که من در طول سال گذشته بدون هیچ مشکلی jQuery را درج کردهام:

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

تفاوت حذف http: است. با حذف این مورد، نیازی به نگرانی در مورد جابهجایی بین http و https نخواهید داشت.

پاسخ شماره ۱

بدون شک من انتخاب میکنم که JQuery از سرورهای API گوگل ارائه شود. من از روش jsapi استفاده نکردم چون از هیچ API دیگری از گوگل بهره نمیبرم، با این حال اگر این وضعیت تغییر کند، آن را در نظر خواهم گرفت...

اول: سرورهای API گوگل در سراسر جهان توزیع شدهاند و به جای محل سرور واحد من قرار دارند: سرورهای نزدیکتر معمولاً به معنی زمان پاسخ سریعتر برای بازدیدکننده است.

دوم: بسیاری از افراد انتخاب میکنند که JQuery بر روی گوگل میزبانی شود، بنابراین وقتی بازدیدکنندهای به سایت من میآید، ممکن است قبلاً اسکریپت JQuery را در حافظه محلی خود داشته باشد. محتوای از قبل ذخیرهشده معمولاً به معنی زمان بارگذاری سریعتر برای بازدیدکننده است.

سوم: شرکت میزبانی وب من برای پهنای باند استفاده شده از من هزینه میگیرد. بیمعنی است که ۱۸ هزار برای هر جلسه کاربری مصرف کنیم اگر بازدیدکننده بتواند همان فایل را از جای دیگری دریافت کند.

من میدانم که بخشی از اعتماد خود را به گوگل میسپارم تا فایل اسکریپت صحیح را ارائه دهد و آنلاین و در دسترس باشد. تا این لحظه، از استفاده از گوگل ناامید نشدهام و این پیکربندی را ادامه خواهم داد تا زمانی که منطقی نباشد.

یک نکته قابل توجه... اگر در سایت خود ترکیبی از صفحات امن و ناامن دارید، ممکن است بخواهید منبع گوگل را به صورت پویا تغییر دهید تا از هشدار معمولی که هنگام بارگذاری محتوای ناامن در یک صفحه امن مشاهده میکنید جلوگیری شود:

این چیزی است که من به آن رسیدم:

<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>

بهروزرسانی ۹/۸/۲۰۱۰ - برخی پیشنهادها برای کاهش پیچیدگی کد ارائه شدهاند با حذف HTTP و HTTPS و بهسادگی استفاده از نحو زیر:

<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>

علاوه بر این، شما همچنین میتوانید URL را تغییر دهید تا شماره اصلی jQuery را نشان دهد اگر میخواستید مطمئن شوید که آخرین نسخه اصلی کتابخانههای jQuery بارگذاری شدهاند:

<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 از اتصالات SSL پشتیبانی نمیکند):

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

پاسخ شماره ۲

یکی از دلایلی که ممکن است بخواهید روی یک سرور خارجی میزبانی کنید این است که محدودیتهای مرورگر در اتصالات همزمان به سرور خاص را دور بزنید.

با این حال، با توجه به اینکه فایل jQuery که شما استفاده میکنید احتمالاً خیلی زیاد تغییر نخواهد کرد، حافظه پنهان مرورگر فعال خواهد شد و عمدتاً این نکته را بیاثر خواهد کرد.

دلیل دوم برای میزبانی آن در سرور خارجی، کاهش ترافیک به سرور خودتان است.

با این حال، با توجه به اندازه jQuery، احتمالاً سهم کمی از ترافیک شما خواهد بود. شما احتمالاً باید سعی کنید محتوای واقعی خود را بهینهسازی کنید.

پاسخ شماره ۳

jQuery 1.3.1 min تنها ۱۸ کیلوبایت حجم دارد. فکر نمیکنم این میزان بار زیاد باشد که در بارگذاری اولیه صفحه درخواست شود. بعد از آن کش خواهد شد. بنابراین، من خودم آن را میزبانی میکنم.

پاسخ شماره ۴

اگر میخواهید از گوگل استفاده کنید، لینک مستقیم ممکن است پاسخگویی بیشتری داشته باشد. هر کتابخانه مسیر فایل مستقیم را فهرست کرده است. این مسیر jQuery است

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

همین حالا دوباره سؤال شما را خواندم، آیا دلیلی وجود دارد که از https استفاده میکنید؟ این همان تگ اسکریپتی است که گوگل در مثال خود ذکر کرده است

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