2010-01-06 4 views
17

Je pensais avoir répondu à cette question auparavant grâce à StackOverFlow, mais j'ai rapidement pris une réponse et il s'avère que ce n'est pas la cause réelle de mon problème.Pages charger deux fois sur Firefox?

J'ai vérifié mon Apache Access Log:

Cela me navigue mon application web sur le navigateur 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 

Cela me navigue mon application web sur 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 

Ceci est ma navigation sur mon application web sur 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 

Ceci est juste moi en cliquant autour. Mais notez que pour chaque requête de page firefox semble charger la page deux fois et qu'elle affecte mes scripts PHP car ils s'exécutent deux fois et font deux insertions dans ma base de données!

Pourquoi est-ce le cas? J'utilise Firefox 3.5.6. Je devine que c'est un problème de Firefox plutôt qu'un PHP/Apache?

+0

J'espère vraiment que les insertions dont vous parlez sont strictement l'exploitation forestière. Si l'émission de requêtes GET provoque d'autres modifications de données, vous rencontrez de sérieux problèmes de conception. – NotMe

+1

'Si l'émission de requêtes GET provoque d'autres modifications de données' c'est une instruction totalement fausse. Il n'y a aucune différence si vous acceptez une série de paramètres d'entrée à partir d'un ensemble de champs de formulaire dans la publication, ou une collection de chaînes de requête sur un get. –

+1

Je ne dirais pas qu'il n'y a pas de différence. Pour l'un, la demande de publication nécessiterait un re-post (que la plupart des navigateurs proposeraient à l'utilisateur), tandis qu'une requête GET peut être demandée facilement (involontairement) et la copie de l'URL et son collage la reviendraient. En outre, quelqu'un pourrait facilement mettre un lien dans un img sur leur site avec le pointage src sur votre site, et tous ceux qui visitent leur site afficherait sur votre site. Si votre sécurité est basée sur des cookies, leur cookie sera toujours envoyé. Il existe donc de nombreuses raisons de ne pas utiliser GET pour la publication de données persistantes ou des demandes qui modifieront les données. –

Répondre

13

Quels plugins avez-vous installés dans Firefox, ils peuvent faire des demandes silencieusement, en particulier FireBug. Essayez d'éteindre firebug & voir si cela arrive encore. Comme mentionné dans le commentaire ci-dessous, la dernière version de FireBug ne devrait pas faire cela, donc si ce n'est pas le cas, essayez de désactiver tous vos plugins (ou d'exécuter FireFox en mode sans échec) et de voir si cela arrive encore

+0

Avec une version précédente de Firebug j'ai eu ce problème. –

+0

Oui, la dernière version ne fait pas cela, donc ce n'est peut-être pas le problème. –

+0

J'ai firebug et sa version: 1.4.5, qui est la dernière version. – Abs

11

Vérifiez les en-têtes Accepter sur la 2ème demande. Cela ressemble-t-il à une demande d'image? Si c'est le cas, vous pouvez avoir un attribut "src" vide sur une balise "img" ou une définition "url" vide dans une propriété CSS qui provoque la 2ème requête.

Plus d'infos ici: http://icanhascode.com/2008/06/the-mystery-of-the-multiple-requests/

En général, cette question est une douleur pour traquer.

+0

C'était une feuille de style échoue pour moi. Merci! – Bogdan

1

Cette ligne est du HTML axée sur Dreamweaver et provoqué le navigateur pour charger deux fois (avec le type de document supprimé et Firebug désactivé):

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

cette ligne: Gordon

2

Comme mentionné par Michael Morton, balises IMG avec manque SRC peut être un problème . Pourrait également être des attributs HREF vides sur les balises A. Je l'ai utilisé jQuery pour les identifier rapidement:

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

En bref, exécutez ce dans Firebug:

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

3

C'était pour moi une question de déclaration charset trop - SORTEZ de toutes les méta tags et déclarez-le ailleurs!

+1

Ceci a été mon problème aussi . changer: en fixe il. – owise1

+0

@ owise1 Votre solution a fonctionné pour moi. Merci beaucoup. – LoneWOLFs

6

J'ai eu le même problème un autre jour. La solution a été mis

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

plus sur le code. Il y avait des codes CSS avant le chargement.

+0

Je devais le déplacer avant une instruction ''. – Keith

+0

Toujours son ne fonctionne pas. Avez-vous une autre solution? –

0

Aucune de ces travaillé pour moi. De nombreuses heures d'inquiétude ... voici ce qui était mon problème:

J'ai eu un lien HTML avec un bouton à l'intérieur. J'ai trouvé que c'était le problème parce que quand je l'ai testé sur IE, le bouton ne fonctionnait pas (les boutons fonctionnaient toujours dans Firefox).

MAL:

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

DROIT:

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

travaille maintenant et pas plus appuyer deux fois.

0

Dans mon cas, j'avais des balises en double comme celui-ci:

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

<!-- more code --> 

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

Après la suppression de mon modèle Blogger, Firefox arrêté rechargeons la page.

0

je utilise mozilla firefox 46.0.1 et j'ai eu le même problème. Mais j'ai remarqué qu'il s'est produit seulement quand mon manuscrit de PHP a eu des erreurs d'avertissement. Le paramètre error_reporting(0); dans mon script php a arrêté la double exécution du script. Après avoir essayé toutes les suggestions ci-dessus, bien sûr.