جدول المحتويات
تطبيق ويب هجين
الاستفادة من svg لتعويض الفلاش
يمكن عمل الكثير من الأشياء بواسطة دمج svg مع javascript مثل
-
- مشروع gordon وهو يشغل ملفات swf عبر javascript
عمل بروتوكول خاص
نريد عمل بروتوكول خاص يتحدث مع تطبيق wsgi مباشرة دون tcp/ip. بنفس الطريقة التي تستخدم فيها المتصفحات العنوان about: ويسمى هذا في مصطلح webkit باسم custom schema
(10:43:06 PM) dydx_: You want to support custom schemes/protocols (i.e.: myCustomScheme://blahblah.blah)
تخصيص navigation request لا يصلح لأنه لا يعالج حالات ajax حيث نطلب التحديث عبر XMLHttpRequest
تخصيص download request لم ينجح
البحث في غوغل لم يعطي شيء. أمثلة على أسئلة تم تجاهلها
كيف فعلتها apple على مستوى النظام
كيف فعلتها kde في man:bash عبر plugin
كيف فعلتها qt وهي الطريقة الصحيحة
لكنها لا تصلح في gtk لأن page غير متوفرة.
بعد المتابعة على #webkit-gtk تبين أنه غير مدعوم. لكن سيتم إضافة الدعم بعد حل
التخاطب بين جافاسكربت ولغة أخرى مكملة
من الأمثلة عليه pyjavascriptcore لكنه لا يزال يحبو في بدايته حيث لا يوجد منه حزم جاهزة ..إلخ
حيلة جميلة غير مكلفة
الطريقة المذكورة في هذه المقالة من أذكى الطرق التي لا تحتاج أي أمور خارجية
يتم الإرسال من بايثون إلى جافاسكربت بواسطة
browser.execute_script(script)
وهذا أمر عادي.لكن ما هو غير عادي هو الطريقة التي نرسل فيها من جافاسكربت إلى بايثون وذلك عبر استدعاء send والتي نمرر لها نص (يمكن إرسال أي كائن عبر تحويله إلى نص json) دالة send بكل بساطة تغير العنوان في المتصفح وطرف بايثون يتم تصيد تغيير العنوان ثم معالجة النص المستلم (يمكن تحويله إلى كائن بايثون من نص json)
function send(msg) { document.title = "null"; document.title = msg; }
توظيفها في ثواب
إن لم يكن هناك ملفات صور وغيرها نريد إرسالها عبر بروتوكول خاص بل كان تطبيقنا عبارة عن نصوص فقط (أو صور svg …إلخ) يمكن الاستغناء عن عمل خادم وفتح منفذ وذلك بأن نربط النقر على أزرار التصفح (سابق/تالي/… أو الشجرة …إلخ) كي تعمل send بالطريقة السابقة مثلا
$o.onclick(function(){send('"display","'+this.attr("href")+'"');})
عوضا عن إرسال الطلب عبر AJAX إلى الخادم.