اسماعيل صدوقي نشر 30 يوليو 2021 أرسل تقرير مشاركة نشر 30 يوليو 2021 (معدل) مرحبا لدي موقع عند تجربته في هاتف أندرويد و في الحاسوب يعمل بشكل عادي، لكن بعد ارساله للعميل أخبرني أنه لا يعمل في جهاز الأيفون في كل من متصفح جوجل و سفاري؟ س1:هل لدى أحدكم هاتف أيفون يقوم بتجربة التصويت و إخباري اذا زر التصويت يعمل هذا الرابط: http://voting-system-sadouki.herokuapp.com/VXgptEmRD س2: ليس لدي هاتف أيفون كيف بإمكاني الآن تتبع المشكلة؟ماذا تفعل لو كنت في مكاني؟ تم التعديل في 30 يوليو 2021 بواسطة اسماعيل صدوقي تعديل السؤال اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Wael Aljamal نشر 30 يوليو 2021 أرسل تقرير مشاركة نشر 30 يوليو 2021 المشكلة موجودة، زر التصويت لا يعمل، لا يتم تحديث العداد. 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 اسماعيل صدوقي نشر 30 يوليو 2021 الكاتب أرسل تقرير مشاركة نشر 30 يوليو 2021 بتاريخ 3 دقائق مضت قال Wael Aljamal: المشكلة موجودة، زر التصويت لا يعمل، لا يتم تحديث العداد. لكن الزر يعمل في هواتف الأندرويد و الحاسوب بشكل عادي، فقط المشكلة في هواتف الأيفون، ما تفسيرك لذلك؟ اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Wael Aljamal نشر 30 يوليو 2021 أرسل تقرير مشاركة نشر 30 يوليو 2021 بتاريخ 2 ساعات قال اسماعيل صدوقي: لكن الزر يعمل في هواتف الأندرويد و الحاسوب بشكل عادي، فقط المشكلة في هواتف الأيفون، ما تفسيرك لذلك؟ توجه لمتصفح chrome ثم Developer Tools/Settings/Overrides ثم User agent واختر نوع المستخدم iPhone/iPad أو Safari يفترض أن يعمل المتصفح مثل Safari بكل خصائص front-end ضمنه. السبب على الأغلب:: هل تستخدم أي مكتبات أو خاصيات غير مدعومة على Safari أو ios web بشكل عام؟ تأكد من إصدار المكتبات، ويمكنك مشاركة هذه المعلومات لنعمل على حل المشكلة. 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 اسماعيل صدوقي نشر 30 يوليو 2021 الكاتب أرسل تقرير مشاركة نشر 30 يوليو 2021 بتاريخ 2 ساعات قال Wael Aljamal: توجه لمتصفح chrome ثم Developer Tools/Settings/Overrides ثم User agent واختر نوع المستخدم iPhone/iPad أو Safari عند استخدامها لا يحدث اي مشاكل, بحثت عن بعض المواقع التي تحاكي اجهزة الأيفون وجدت هذا الموقع: http://www.responsinator.com/?url=voting-system-sadouki.herokuapp.com%2FVXgptEmRD عند الضغط على زر تصويت يظهر في console خطأ 419: message "CSRF token mismatch." الكود الذي استخدمه لارسال التصويت لقاعدة البيانات: $.ajax({ type: 'post', url: "{{ route('vote') }}", data: { '_token': "{{ csrf_token() }}", 'id': id, 'voted': voted, 'unique_url': unique_url }, success: function (data) { if(data.status == true) { // code } else { // code } }, error: function(reject) { } 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Wael Aljamal نشر 30 يوليو 2021 أرسل تقرير مشاركة نشر 30 يوليو 2021 بتاريخ 19 دقائق مضت قال اسماعيل صدوقي: الكود الذي استخدمه لارسال التصويت لقاعدة البيانات: لنحل مشكلة csrf سنقوم بوضع عنصر html وهو meta tag يخزن هذه القيمة: ضعه في الترويسة مثلا.. (صفحة HTML الرئيسية للموقع main Layout <meta name="csrf-token" content="{{ csrf_token() }}" /> كما يمكن يمكن عمل زر ومن ثم إخفاءه : type="hidden" ويمكن هكذا <input type="hidden" name="_token" value="{!! {{ 'csrf_token()' }} !!}"> ثم عندما تريد إرسال الطلبية نجلب قيمته meta: <script type="text/javascript"> $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); </script> ونمررها في الترويسة.. نضع هذه الشيفرة في المسارين التاليين حسب إصدار لارافل، وأرى أنك تستخدم إصدار قديم resources/js/bootstrap.js file for Laravel 5.7 and resources/assets/js/bootstrap.js for Laravel 5.6 هل تضع قيمة للجلسة session ؟ مثل Timeout ؟ يمكن زيادة مدة الجلسة: config/session.php 'lifetime' => 360 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 اسماعيل صدوقي نشر 30 يوليو 2021 الكاتب أرسل تقرير مشاركة نشر 30 يوليو 2021 بتاريخ 21 دقائق مضت قال Wael Aljamal: لنحل مشكلة csrf سنقوم بوضع عنصر html وهو meta tag يخزن هذه القيمة: ضعه في الترويسة مثلا.. (صفحة HTML الرئيسية للموقع main Layout <meta name="csrf-token" content="{{ csrf_token() }}" /> كما يمكن يمكن عمل زر ومن ثم إخفاءه : type="hidden" ويمكن هكذا <input type="hidden" name="_token" value="{!! {{ 'csrf_token()' }} !!}"> ثم عندما تريد إرسال الطلبية نجلب قيمته meta: <script type="text/javascript"> $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); </script> ونمررها في الترويسة.. نضع هذه الشيفرة في المسارين التاليين حسب إصدار لارافل، وأرى أنك تستخدم إصدار قديم resources/js/bootstrap.js file for Laravel 5.7 and resources/assets/js/bootstrap.js for Laravel 5.6 هل تضع قيمة للجلسة session ؟ مثل Timeout ؟ يمكن زيادة مدة الجلسة: config/session.php 'lifetime' => 360 قمت بكافة التعديلات و للأسف مازالت نفس المشكلة. بالنسبة لإصدار لارافيل أستعمل لارفيل 8! اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Wael Aljamal نشر 30 يوليو 2021 أرسل تقرير مشاركة نشر 30 يوليو 2021 بتاريخ 7 دقائق مضت قال اسماعيل صدوقي: قمت بكافة التعديلات و للأسف مازالت نفس المشكلة. بالنسبة لإصدار لارافيل أستعمل لارفيل 8! ضمن main layout لنبطل التخزين المؤقت: @guest <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="0" /> <meta http-equiv="refresh" content="{{config('session.lifetime') * 60}}"> @endguest ربما سبب المشكلة في ملفات الكوكيز، لاحظت Apple Bug Reporter PID #13966978. حيث إن قمت بتثبيت عدة قيم كوكيز مباشرة فهذا لن يعمل، بل يجب وضع قيمة بسيطة كأول كوكيز يتم تخزينها: setcookie("hi","true"); ثم أكمل باقي الكوكيز. إن لم تعمل ربما يحل المشكلة التالي: Cross-domain cookies/sessions in Safari 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
اسماعيل صدوقي
مرحبا لدي موقع عند تجربته في هاتف أندرويد و في الحاسوب يعمل بشكل عادي، لكن بعد ارساله للعميل أخبرني أنه لا يعمل في جهاز الأيفون في كل من متصفح جوجل و سفاري؟
س1:هل لدى أحدكم هاتف أيفون يقوم بتجربة التصويت و إخباري اذا زر التصويت يعمل هذا الرابط:
http://voting-system-sadouki.herokuapp.com/VXgptEmRD
س2: ليس لدي هاتف أيفون كيف بإمكاني الآن تتبع المشكلة؟ماذا تفعل لو كنت في مكاني؟
تم التعديل في بواسطة اسماعيل صدوقيتعديل السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية
7 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.