سؤال

هل من الآمن حقن سيناريو مسج باستخدام JSONP؟

تثبيت تطبيق الويب الخاص بي هو - إضافة برنامج نصي إلى موقع الويب الخاص بالعميل (مثل Google Analytics). كنت أفكر في استخدام JQuery على موقع العميل، كجزء من البرنامج النصي المحقن الخاص بي.

كنت أتساءل، إذا كان هناك نوع من المخاطرة؟ يحتاج التطبيق إلى دعم أي نوع من موقع الويب.

شكرا لكم يارون

هل كانت مفيدة؟

المحلول

من الصعب تحديد ما تقوم به مع مكتبتك، ولكن يبدو أنك تقوم ببناء نوع من القطعة للاستخدام في مواقع متعددة.

تم تحديث من هنا لأسفل بعد تعليق التنوير من AK Prime تسبب لي البحث بالضبط كيف يمكن أن تشمل نسختين من JQuery إذا لزم الأمر:

أنه عموما سيئة لاستخدام jQuery إذا كنت تقوم ببناء عنصر واجهة مستخدم سيعيش في موقع الخارج سيضيف التحكم الخاص بك، وسيتم إضافته إلى الموقع باستخدام "نسخ هذا التعليمات البرمجية والصقه على موقع الويب الخاص بك". (بالطبع الحاجيات المسجات والمكونات الإضافية، ولكن يتم اختيارها بشكل طبيعي وتثبيتها / تنفيذها من قبل المطورين وليس تطبيق عنصر القطعة "نسخ نسخ" عام)

ربما أكبر سبب (بعد تحقيقك يمكن قم بتشغيل نسختين من JQuery في نفس الصفحة) هو زيادة حجم الملف. سواء كان ذلك ما هو مطلوب سيعتمد على احتياجاتك وعملك. القطعة الصغيرة البسيطة = JS مستقيم. تمديد موقع الواجهة الأمامي المعقدة، ثم ربما يستحق زيادة حجم الملف.

لتضمينها بشكل صحيح (حتى لا تعمل في تعارضات على موقعها) اتبع سير عمل يبدو شيئا مثل هذا:

  1. أضف JQuery ديناميكيا إلى صفحتها باستخدام APIs Google كما هو مذكور في الإجابات الأخرى هنا.
  2. يركض var mywidget_jQuery = $.noConflict( true ); الذي سوف يستعيد المعنى الأصلي لل $ و استعادة المعنى الأصلي لل window.jQuery.
  3. أضف ملفك النصي ديناميكيا، لكن تأكد من التفاف كل شيء في وظيفة تنفذ ذاتية الهوية مثل هذا:

ج إس

(function($){
    ... Your code here ...
})(mywidget_jQuery);

الآن، يمكنك استخدام بأمان $ داخل وظيفتك الخاصة وجميع ميزات المسق التي تريدها دون إصدار.

رصيد إضافي يمكنك التفاف الخطوتين 1 و 2 في بيان إذا اختبارات إذا window.jQuery يتم تعريف وإذا كان ذلك، اختبار إذا jQuery.fn.version عالية بما يكفي لتشغيل التعليمات البرمجية الخاصة بك. إذا فشل أي اختبار، ثم قم بتشغيل الخطوتين 1 و 2. إذا تم تمريره، إلا أنه فقط تشغيل var mywidget_jQuery = window.jQuery وبالتالي فإن البرنامج النصي الذي تتضمنه في الخطوة 3 سيظل قيد التشغيل.

نصائح أخرى

يمكنك إضافة jQuery إلى موقع على شبكة الإنترنت بمجرد إضافة <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.js" /> جزء.

ومع ذلك، تأكد من الاتصال jQuery.noConflict() في حال استخدامها مختلفة $ الكلمة الرئيسية.

إذا كنت فقط بعد الإشارة إلى المكتبة، فلماذا لا ترتبط فقط ب API المستضافة رمز جوجل?

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top