Panzoom: تكبير القرص لا يعمل على Android Chrome 55

تم إنشاؤها على ٣ يناير ٢٠١٧  ·  14تعليقات  ·  مصدر: timmywil/panzoom

موضوع القضية

تكبير القرص لا يعمل على Android Chrome 55.

التحديث - تفشل أيضًا صفحات العرض والاختبار:
لا يعمل Pinch Zoom على جهاز Android مع Chrome 55 على أي من العناصر التجريبية هنا: https://timmywil.github.io/jquery.panzoom/demo/
https://timmywil.github.io/jquery.panzoom/test/ فشل أيضًا.

كلاهما يعمل بشكل جيد على نفس الجهاز مع إزالة تحديثات Chrome.

تقرير المشكلة الأصلي:
مثل # 308 ، كنت أستخدم jquery.panzoom لبعض الوقت ، وهو يعمل بلا عيب. كسر Chrome 55 على Android. في حالتي ، يكون Pan على ما يرام ، لكن Pinch Zoom يتسبب في التحريك والوميض وعدم التكبير.
إذا قمت بإلغاء تثبيت تحديثات Chrome ، فستختفي المشكلة. المشكلة ليست واضحة على IOS Safari أو Android Chrome الأقدم.

بيئتك

  • نسخة من jquery.panzoom 2.0.5
  • نسخة من jquery 2.1.1
  • Chrome 55 على Android Lollipop.

التحديث - يحتوي jquery.panzoom 3.2.2 على نفس المشكلة ، بالإضافة إلى مشاكل الاحتواء الأخرى. قرصة Zoom هي مشكلة فقط على Android Chrome 55.

التعليق الأكثر فائدة

يبدو أن Chrome 55 يطلق أحداث اللمس والمؤشر. أحد الحلول القبيحة التي تناسبني هي إزالة مستمع المؤشر. لذا يصبح السطر 940:

var str_down;
if (getChromeVersion() >= 55 && 'ontouchstart' in window) {
    str_down = 'mousedown' + ns + ' MSPointerDown' + ns;
}
else {
    str_down = 'mousedown' + ns + ' pointerdown' + ns + ' MSPointerDown' + ns;
}

راجع http://stackoverflow.com/a/4900484/424563 للحصول على تضمين getChromeVersion ().

تم اختباره باستخدام أحدث إصدار من jQuery.

ال 14 كومينتر

أستطيع أن أؤكد أن التكبير / التصغير قد توقف عن العمل تمامًا في الكروم 55 أيضًا. أتمنى لو كانت لدي معرفة الترميز حتى لمحاولة الإصلاح.

لدي نفس المشكلة. مع 3.2.2 ولكن يبدو أنه يعمل على بعض الأجهزة وليس على البعض الآخر. على سبيل المثال ، لا يعمل Samsung على Android 6.0.1 مع Chrome 55 بينما يعمل نفس Android و Chrome تمامًا على جهاز Nexus بشكل مثالي.

نفس المشكلة هنا. يمكنك التحقق من ti عبر الإنترنت. اختر أحد الخيارات الأولى. عند تحميل الصورة ، لا يعمل القرص للتكبير / التصغير في الهاتف المحمول.

https://yagolopez.github.io/Webcams_de_Asturias/www/#/app/meteo

من فضلك ، أصلحه قريبا.

تصحيح:

مع أحدث إصدار من jquery و panzoom ، يبدو أنه يعمل في تطبيق هذا الاختراق:

https://github.com/timmywil/jquery.panzoom/issues/303#issuecomment -267853623

أتساءل عما إذا كان بإمكان شخص ما مساعدتي في حل معضلي: لقد كنت أستخدم الإصدار 2.0.5 لمدة عامين ، وهو يعمل بشكل مثالي في موقع الويب للجوال وتطبيق الهاتف. المشكلة الوحيدة هي قرصة للتكبير في Android Chrome 55

يمكنني الحصول على قرصة للتكبير في الإصدار 3.2.2 من خلال التعليق على السطر المذكور في # 303. تكمن المشكلة في أن الإصدار 3.2.2 يقدم مشكلات تتعلق بالحجم والموضع ، وتضيف setMatrix () ترجمات زائفة على ما يبدو. هناك العديد من المشكلات المفتوحة في هذا النظام ، ومحاولات عديدة لإصلاح 3.2.2 ، لكنها لا تبدو مستقرة مثل 2.0.5. (باستثناء إصدار Chrome 55 فقط.)

لقد حاولت استبدال event.pageX بـ event.originalEvent.pageX و event.pageY بـ event.originalEvent.pageY في 2.0.5 (كما يقترح bodgybrothers في # 303 للإصدار 3.2.2 ،) لكنه لم يصلحه ، ولست مؤهلاً للمضي قدمًا في محاولة الحصول على 2.0.5 للعمل مع التكبير / التصغير على Android Chrome 55.

أفضل نتيجة لي هي إصلاح 2.x ، لكنني لا أعرف ما إذا كان لا يزال قيد التطوير. في حالة عدم وجود إصلاح لـ 2.x ، يبدو أن خياري الوحيد هو انتظار إصدار جديد من 3.x (4؟) يفتقر إلى مشاكل تحديد المواقع التي يرسل الأشخاص تغييرات لها.

هل يمكن لأي شخص لطيف أن يضيف أي أفكار أو معلومات للمساعدة في قراري؟
هتافات
يوحنا

لقد واجهت أيضًا مشكلة تحديد المواقع من خلال التحديث إلى الإصدار 3.2.2.
لقد قمت بفرزها عن طريق إضافة الارتفاع والعرض إلى حاوية التكبير / التصغير الخاصة بي.
بالنسبة لي هذا العمل.

position:relative; height:100%; transform:matrix(1, 0, 0, 1, 0, 0); transform-origin: 50% 50% 0;

يبدو أن Chrome 55 يطلق أحداث اللمس والمؤشر. أحد الحلول القبيحة التي تناسبني هي إزالة مستمع المؤشر. لذا يصبح السطر 940:

var str_down;
if (getChromeVersion() >= 55 && 'ontouchstart' in window) {
    str_down = 'mousedown' + ns + ' MSPointerDown' + ns;
}
else {
    str_down = 'mousedown' + ns + ' pointerdown' + ns + ' MSPointerDown' + ns;
}

راجع http://stackoverflow.com/a/4900484/424563 للحصول على تضمين getChromeVersion ().

تم اختباره باستخدام أحدث إصدار من jQuery.

dagged : شكرًا على ذلك ، ولكني أجد أن التكبير / التصغير بالقرص على Chrome 55 يعمل بشكل جيد على Panzoom 3.2.2 مع الإصلاح في # 303:
Had a quick hack in the code and commenting out line 1164: this.panning = true;
مشكلتي مع Panzoom 3.2.2 هي أن تحديد المواقع معطوب ، والذي في تطبيقي لا يبدو أن الإصلاح الذي اقترحه

dagged
في حالتي ، الحل # 303 لا يعمل على android 6 samsung Galaxy S6.
الحل الخاص بك يعمل بشكل رائع !!! حفظ أيامي. شكرا!!!

dagged أنت المنقذ. شكرا!!!

@ nich008
2.0.5 الخطأ هو window.PointerEvent صحيح.
لذا قم بإخفاء السطر 32-39 ، السطر 74 ؛ سطر 80 var pointerEvents = خطأ ؛
استخدام حدث اللمس لا يوجد مؤشر

تضمين التغريدة
من النظرة الأولى التي يبدو أنها تصلحها. شكرا!!!
[عدل] نعم - إنه يعمل بشكل جيد - شكرا لك.

نسخة مكررة من # 303

jcnventura : أثيرت هذه المشكلة على إصدار Panzoom 2.0.5 ، لذا فهي ليست خدعة لـ # 303. لاحظ أن هناك تعليقًا من chfeizy يعمل على إصلاح مشكلة الإصدار 2.0.5 ، مما جعله حلاً أكثر موثوقية من 3.2.2.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات