سؤال

أنا باستخدام html التالية لتحميل دوجو من جوجل استضافة.

<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("dojo", "1.1.1");</script>
<script type="text/javascript">
dojo.require("dojox.gfx");
...

هذه الأخطاء على requre خط مع خطأ مثل dojox.gfx هو غير معروف.هل هناك طريقة لجعل هذا العمل أم أن جوجل لا تدعم dojox امتداد?

بدلا من ذلك, هل هناك مشترك آخر المضيف يمكنني استخدام القياسية دوجو النشرات?

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

المحلول

بشكل مختلف من عند الرجوع .js الملفات مباشرة من <script> tag (note that google js api also supports this, see هنا), جوجل.الحمل غير متزامن.هذا يعني أنه عندما التعليمات البرمجية الخاصة بك إلى google.تحميل, لن أنتظر دوجو أن تكون محملة بالكامل للحفاظ على التوزيع ، وسوف تذهب مباشرة إلى الخاص بك دوجو.تتطلب خط, وسوف تفشل هناك لأن دوجو الكائن غير معروف.

الحل (إذا كنت لا تريد استخدام استخدام مباشر <script> tag), is to enclose all your code that references dojo in a تبدأ وظيفة وضعه سيكون رد ، عن طريق القيام:

google.load("dojo", "1.1.1", {callback: start});

function start() {
    dojo.require("dojox.gfx");
    ...
}

أو

google.setOnLoadCallback(start);
google.load("dojo", "1.1.1");

function start() {
    dojo.require("dojox.gfx");
    ...
}

نصائح أخرى

أفضل السؤال هو لماذا تريد هذا ؟ إذا كنت النامية على localhost ثم مجرد استخدام مسار نسبي, إذا كنت في وضع على شبكة الإنترنت التي تواجه خادم عصا دوجو الملفات على ذلك.

أيضا تأكد من أنك لا تقع كريهة من سياسة المنشأ نفسه

أعتقد أن جوجل يصبح مساحة الاسم الخاصة بك استيراد المكتبات.محاولة: google.dojo.require.

أوه!كما أشير إلى أدناه, لا تنسى أن استخدام جوجل.setOnLoadCallback بدلا من استدعاء الدالة مباشرة.

dojox هو عمليا غير المشرف عليها و سيتم اتخاذها للخروج من دوجو-2.هناك مشاكل كبيرة مع معظم الحاجيات في dojox ، ليس هناك سوى عدد قليل من جيدة.

IMHO دوجو ينبغي الذاتي استضافت, لأن هناك دائما أشياء ما تحتاج إلى الكتابة - على سبيل المثال ، تحتاج إلى بعض الإصلاح في هذا dojox.gfx.

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