Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP文件执行两次,但仅在Firefox中执行_Javascript_Php_Execution_Script Tag - Fatal编程技术网

Javascript PHP文件执行两次,但仅在Firefox中执行

Javascript PHP文件执行两次,但仅在Firefox中执行,javascript,php,execution,script-tag,Javascript,Php,Execution,Script Tag,这真的很奇怪。我有以下页面结构: index.php <?php session_start(); include_once('src/functions.php'); logMe('index'); include_once(TEMPLATES_FOLDER . 'standard/header.php'); [...] include_once(TEMPLATES_FOLDER . 'standard/footer.php'); ?> <?php logMe('heade

这真的很奇怪。我有以下页面结构:

index.php

<?php
session_start();
include_once('src/functions.php');
logMe('index');
include_once(TEMPLATES_FOLDER . 'standard/header.php');
[...]
include_once(TEMPLATES_FOLDER . 'standard/footer.php');
?>
<?php logMe('header'); ?>

<!DOCTYPE html>
<html lang="en">
<head>

    [...]

    <?php if (isset($_SESSION['accountId'])) : ?>
        <script type="text/javascript">
            [...]
        </script>
    <?php endif; ?>

</head>
<body>

[...]

header.php

<?php
session_start();
include_once('src/functions.php');
logMe('index');
include_once(TEMPLATES_FOLDER . 'standard/header.php');
[...]
include_once(TEMPLATES_FOLDER . 'standard/footer.php');
?>
<?php logMe('header'); ?>

<!DOCTYPE html>
<html lang="en">
<head>

    [...]

    <?php if (isset($_SESSION['accountId'])) : ?>
        <script type="text/javascript">
            [...]
        </script>
    <?php endif; ?>

</head>
<body>

[...]

[...]
[...]
[...]
我希望得到两个日志行,一个来自
index.php
,另一个来自
header.php
(因为
logMe()
函数)

现在,如果我在Firefox(61.0.2)中运行这个页面,我会得到4个日志。如果我在Chrome(68.0.3440.106)中运行它,我会得到2个日志。所以在Firefox中,似乎每件事都要执行两次

更奇怪的是,如果我删除
标记,问题似乎消失了,因为Firefox只记录了2行。但即使我放回一个空的
标记,它也会记录4行!所以问题的关键似乎是这个
标签,但怎么可能呢

此外,我在
footer.php
中还有一个
标记。然后,我希望按照这种行为获得6个日志行,但我总是只得到4个。只有同时删除它们(从页眉和页脚),我才能获得正确的行为(2个日志)

有人知道发生了什么吗


更新

根据raina77ow请求,这是
access.log
差异:

  • Firefox记录了16行,Chrome记录了15行
  • 不在Chrome日志中的Firefox行:
    • 127.0.0.1--[2018年9月1日:11:47:49+0200]“GET/favicon.ico HTTP/1.1”404 209
    • 127.0.0.1---[01/Sep/2018:11:47:49+0200]“GET/src/lib/toastr/toastr.js.map HTTP/1.1”304-
    • 127.0.0.1---[01/Sep/2018:11:47:49+0200]“GET/?pageId=0 HTTP/1.1”200 4242(此行重复两次,一次在日志开头,一次在日志结尾)
  • 不在Firefox日志中的Chrome行:
    • 127.0.0.1---[01/Sep/2018:11:48:40+0200]“GET/src/lib/toastr/toastr.js.map HTTP/1.1”200 25633
    • 127.0.0.1---[01/Sep/2018:11:48:40+0200]“GET/src/lib/bootstrap-3.3.7/css/bootstrap.min.css.map HTTP/1.1”200 542194

所以Firefox实际上请求了两次
?pageId=0

好的,我的Firefox安装中似乎有些东西被破坏了。我试着在安全模式下启动,但问题没有出现。所以我对它进行了硬重置,现在问题不再出现了


仍然想不出问题与
标记之间的任何联系…

您是否可以查看Firefox开发者工具中的网络面板或服务器日志,以查看请求的确切内容-路径,等等?@raina77ow在Chrome和Firefox中,我有相同数量的请求:25@raina77ow我添加了access.log detailsPerhaps一些加载项出了问题?@raina77ow这是我检查的第一件事:我安装的唯一加载项是防病毒软件(Trend Micro)。但无论如何,它是(而且是)被禁用的。