سؤال

اعتقدت أنني أجبت على هذا السؤال من قبل بفضل StackOverFlow، لكنني تلقيت الإجابة على عجل واتضح أن هذا ليس السبب الحقيقي لمشكلتي.

لقد قمت بفحص سجل وصول Apache الخاص بي:

هذا أنا أتصفح تطبيق الويب الخاص بي على متصفح Google Chrome.

127.0.0.1 - - [06/Jan/2010:22:17:35 +0000] "GET /webs/end/new.php HTTP/1.1" 200 2146
127.0.0.1 - - [06/Jan/2010:22:17:36 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548
127.0.0.1 - - [06/Jan/2010:22:17:38 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042

هذا أنا أتصفح تطبيق الويب الخاص بي على IE7.

127.0.0.1 - - [06/Jan/2010:22:21:49 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548
127.0.0.1 - - [06/Jan/2010:22:21:50 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042

هذا أنا أتصفح تطبيق الويب الخاص بي على Firefox.

127.0.0.1 - - [06/Jan/2010:22:18:08 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548
127.0.0.1 - - [06/Jan/2010:22:18:09 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548
127.0.0.1 - - [06/Jan/2010:22:18:10 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042
127.0.0.1 - - [06/Jan/2010:22:18:10 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042
127.0.0.1 - - [06/Jan/2010:22:18:11 +0000] "GET /webs/end/new.php HTTP/1.1" 200 2146
127.0.0.1 - - [06/Jan/2010:22:18:12 +0000] "GET /webs/end/new.php HTTP/1.1" 200 2146

هذا هو مجرد لي النقر حولها.لكن يلاحظ أنه بالنسبة لكل طلب صفحة، يبدو أن فايرفوكس يقوم بتحميل الصفحة مرتين ويؤثر على نصوص PHP الخاصة بي حيث يتم تنفيذها مرتين وإجراء إدخالين في قاعدة البيانات الخاصة بي!

لماذا هذه القضية؟أنا أستخدم فايرفوكس 3.5.6.أعتقد أن هذه مشكلة في Firefox وليست مشكلة PHP/Apache؟

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

المحلول

ما هي المكونات الإضافية التي قمت بتثبيتها في فايرفوكس، قد يتم تقديم طلبات بصمت، خاصة Firebug. حاول تحويل Firebug وأرى ما إذا كان لا يزال يحدث.

كما هو مذكور في التعليق أدناه، لا ينبغي أن يفعل أحدث إصدار من Firebug هذا، لذلك إذا لم يكن الأمر كذلك، فحاول تعطيل جميع الإضافات الخاصة بك (أو تشغيل Firefox في الوضع الآمن) ومعرفة ما إذا كان لا يزال يحدث

نصائح أخرى

تحقق من رؤوس قبول في الطلب الثاني. هل يبدو أن يكون طلب للحصول على صورة؟ إذا كان الأمر كذلك، فقد يكون لديك سمة فارغة "SRC" في علامة "img" أو تعريف فارغ "URL" في خاصية CSS التي تسبب الطلب الثاني.

مزيد من المعلومات هنا: http://icanhascode.com/2008/06/the-mystery-of-the-multiple-reakests/

بشكل عام، هذه القضية هي ألم لتتبع.

كان لدي نفس المشكلة في يوم آخر. تم وضع الحل

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

أعلى على الكود. كان هناك بعض رموز CSS التحميل قبل ذلك.

كان هذا قضية إعلان تجديدي بالنسبة لي أيضا - خذها من جميع علامات التعريف وإعلانها في مكان آخر!

كما ذكر مايكل مورتون، يمكن أن تكون علامات IMG التي تحتوي على SRC مفقودة مشكلة.يمكن أيضًا أن تكون سمات HREF فارغة على العلامات A.لقد استخدمت jQuery للتعرف عليهم بسرعة:

http://www.planbox.com/blog/development/coding/browser-send-same-request-twice-or-multiple-times.html

باختصار، قم بتشغيل هذا في Firebug:

$('img[src=""],a[href=""]')

هذا الخط هو بعض Dreamweaver مدفوعة HTML وتسبب في تحميل المتصفح مرتين (مع إزالة نوع DOC وإعطيل Firebug):

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

لا شيء من هؤلاء عملت لي. ساعات عديدة من القلق ... هنا هو ما كان مشكلتي:

كان لدي رابط HTML مع زر داخله. لقد وجدت أن هذه هي المشكلة لأنه عندما اختبرها على IE، لم ينجح الزر (الأزرار التي لا تزال تعمل في فايرفوكس).

خاطئ:

<a href=''><button class='btn'>Test</button></a>

حق:

<a class='btn' href=''>Test</a>

يعمل الآن وليس المزيد من الصنبور المزدوج.

في حالتي، كان لي علامات مكررة مثل هذا:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<!-- more code -->

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

بعد إزالةه من قالب المدون الخاص بي، توقف فايرفوكس إعادة تحميل الصفحة.

أنا باستخدام موزيلا فايرفوكس 46.0.1 وحصلت على نفس المشكلة. لكنني لاحظت أنه حدث فقط عندما يكون لدى برنامج PHP الخاص بي أخطاء تحذير. جلسة error_reporting(0); في البرنامج النصي PHP، أوقف التنفيذ المزدوج البرنامج النصي. بعد محاولة جميع الاقتراحات المذكورة أعلاه، بالطبع.

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