Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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 在外部库中调用函数时发生引用错误-仅限firefox_Javascript_Jquery_Firefox_Referenceerror - Fatal编程技术网

Javascript 在外部库中调用函数时发生引用错误-仅限firefox

Javascript 在外部库中调用函数时发生引用错误-仅限firefox,javascript,jquery,firefox,referenceerror,Javascript,Jquery,Firefox,Referenceerror,我使用来检索有关用户发送表单订阅时事通讯的数据 在Chrome和Safari上运行良好。另一方面,Firefox产生一个ReferenceError:geoplugin\u请求未定义 为什么Firefox表现不同?我怎么修理它? 谢谢 HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>WEHMIX</title>

我使用来检索有关用户发送表单订阅时事通讯的数据

在Chrome和Safari上运行良好。另一方面,Firefox产生一个
ReferenceError:geoplugin\u请求未定义

为什么Firefox表现不同?我怎么修理它? 谢谢

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>WEHMIX</title>
    <link rel="stylesheet" href="css/bootstrap.min.css">
    <link rel="stylesheet" href="css/stile.css">
    <!--<script src="http://www.geoplugin.net/javascript.gp"></script>-->
    <script src="http://www.geoplugin.net/javascript.gp"></script>
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-xs-12 col-sm-10 col-sm-offset-1 text-center">
                <h1 class="title-box">wehmix</h1>
                <h3>Rimani in contatto con il progetto wehmix.</h3>
                <p>Iscriviti alla newsletter per essere aggiornato in anteprima sull'evoluzione del progetto, per partecipare agli incontri di presentazione e far parte della ricerca.</p>
                <form id="contatto" method="post" action="https://anypoint.mulesoft.com/apiplatform/proxy/https://mocksvc.mulesoft.com/mocks/4790cf82-7131-46a1-b427-562e4e8f22ce/newsletter/subscriber">
                    <input id="email" name="email" type="text" placeholder="Inserisci la tua e-mail" value="">
                    <input type="submit" value="Iscriviti">
                </form>
                <p class="feedback"><i class="glyphicon glyphicon-thumbs-up"></i></p>
            </div>
        </div>
    </div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="js/script.js"></script>
</body>
</html>

可能有比赛条件。您可以同时加载geoplugin脚本和您自己的事件处理程序。如果geoplugin需要加载的时间比您自己的脚本长,并且您提交表单的速度足够快,则可能是全局
geoplugin\u请求
尚不可用。奇怪的是,脚本需要这么长的时间,但是有了本地可用的脚本和其他地方可用的脚本,这是可能的

您的标记表示您使用jQuery,因此您可以通过
$.getScript()
函数加载geoplugin,并将单击处理程序注册到作为第二个参数给出的匿名函数中:

$.getScript("http://www.geoplugin.net/javascript.gp", function () {
  $("#contatto").submit(function(e){ ... }
});

一个更优雅的解决方案是使用模块加载器工具来处理依赖项,例如。

可能存在竞争条件。您可以同时加载geoplugin脚本和您自己的事件处理程序。如果geoplugin需要加载的时间比您自己的脚本长,并且您提交表单的速度足够快,则可能是全局
geoplugin\u请求
尚不可用。奇怪的是,脚本需要这么长的时间,但是有了本地可用的脚本和其他地方可用的脚本,这是可能的

您的标记表示您使用jQuery,因此您可以通过
$.getScript()
函数加载geoplugin,并将单击处理程序注册到作为第二个参数给出的匿名函数中:

$.getScript("http://www.geoplugin.net/javascript.gp", function () {
  $("#contatto").submit(function(e){ ... }
});

一个更优雅的解决方案是使用模块加载器工具来处理依赖项,如。

我尝试了你的解决方案,虽然它在Firefox上工作,但在Chrome上不再工作了!它产生的错误与Firefox在此更改之前产生的错误相同。这很奇怪。我试图通过使用重新生成您的问题,但遇到了一个问题,geoplugin似乎不完全支持JSFIDLE所需的加密连接(https)。无法加载它。你的环境可能也在https上吗?没有,但我想我已经知道了。我的问题可能与Firefox的Debian版本Iceweasel有关。不知何故,它没有从外部库加载函数/变量,而原来的Firefox工作得完美无缺。无论如何,谢谢你的帮助!我尝试了你的解决方案,虽然它在Firefox上可以工作,但在Chrome上就不工作了!它产生的错误与Firefox在此更改之前产生的错误相同。这很奇怪。我试图通过使用重新生成您的问题,但遇到了一个问题,geoplugin似乎不完全支持JSFIDLE所需的加密连接(https)。无法加载它。你的环境可能也在https上吗?没有,但我想我已经知道了。我的问题可能与Firefox的Debian版本Iceweasel有关。不知何故,它没有从外部库加载函数/变量,而原来的Firefox工作得完美无缺。无论如何,谢谢你的帮助!