Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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 加载这个js数组时我做错了什么?_Javascript_Php_Jquery_Arrays - Fatal编程技术网

Javascript 加载这个js数组时我做错了什么?

Javascript 加载这个js数组时我做错了什么?,javascript,php,jquery,arrays,Javascript,Php,Jquery,Arrays,我已经添加了另一个问题,特别是关于我认为这里的问题是什么,但我认为更多的细节会有一些好处。这是我的代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Prueba jQuery no event</title> <scri

我已经添加了另一个问题,特别是关于我认为这里的问题是什么,但我认为更多的细节会有一些好处。这是我的代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Prueba jQuery no event</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="loadUrls.php"></script>
<script type="text/javascript">
jQuery(document).ready(function() { 

    jQuery("a").click(function(ev) {

        //ev.preventDefault();

        // Defino las variables
        var currentAnchor = jQuery(this);
        var currentHref = currentAnchor.attr('href');
        var curHref = currentHref.split('/');
        var curHrefFinal = curHref[2].replace('www.', '');

        if(jQuery.inArray(curHrefFinal,urlsFinal) > -1) {
            // Evito que se visite el link directo
            ev.preventDefault();

            if (ev.metaKey || ev.ctrlKey) {
                // Redirecciono el navegador a la página que queremos
                window.open(currentHref + "?a=esta-funcionando-tambien");
            } else {
                // Redirecciono el navegador a la página que queremos
                window.location = currentHref + "?a=esta-funcionando";
            };
        };
    });
});
</script>
</head>

<body>
<p>Hola, <a href="http://www.avantrip.com">este es</a> un link.</p>
<p>Hola, <a href="http://espana.aula365.com/es/">este es</a> otro link.</p>
<p>Hola, <a href="http://stackoverflow.com">este es</a> otro link.</p>
<p>Hola, <a href="http://www.airborn.com.ar">este es</a> otro link.</p>
</body>
</html>
基本上,我将所有被单击链接的href属性与从SQL数据库动态生成的数组进行比较。此数组需要托管在外部文件中,因此是loadUrls.php文件

由于某些原因,主代码中未识别urlsFinal var。如果复制数组并将其粘贴到主文件中,则其余部分工作正常。我找不到任何问题,但我相信你会的

有什么想法吗


谢谢

您已经为变量创建了一个局部作用域——您应该将其放入全局作用域,方法是将
loadUrls.php
简化为脚本(不带
$(document).ready
包装器):


将其添加到全局范围的另一种方法(如果您需要
$(document).ready
closure出于其他原因)是使用
window.urlsFinal=[…]
您已经为变量创建了一个局部范围,您应该通过使
loadUrls.php
简单地成为脚本,将其放入全局范围(不带
$(文档).ready
包装):


将其添加到全局范围的另一种方法(如果您需要
$(document).ready
closure出于其他原因)是使用
window.urlsFinal=[…]
您已经为变量创建了一个局部范围,您应该通过使
loadUrls.php
简单地成为脚本,将其放入全局范围(不带
$(文档).ready
包装):


将其添加到全局范围的另一种方法(如果您需要
$(document).ready
closure出于其他原因)是使用
window.urlsFinal=[…]
您已经为变量创建了一个局部范围,您应该通过使
loadUrls.php
简单地成为脚本,将其放入全局范围(不带
$(文档).ready
包装):


将其添加到全局范围的另一种方法(如果您需要
$(document).ready
closure出于其他原因)是使用
window.urlsFinal=[…]
您需要在全局空间中定义
urlsFinal
。有两种方法

方法1:使用
窗口
变量:

jQuery(document).ready(function() { 
    var urlsFinal = [
        "avantrip.com.ar",
        "avantrip.com",
        "espana.aula365.com",
        "almashopping.com",
        "airborn.com.ar",
        "1and1.mx",
        "oiasdoiajsdoiasdoiasjdioajsiodjaosdjiaoi.com"
    ];
    window['urlsFinal'] = urlsFinal;
});
方法2:在全局空间中声明变量,但在同一空间中初始化它

var urlsFinal;
jQuery(document).ready(function() { 
    urlsFinal = [
        "avantrip.com.ar",
        "avantrip.com",
        "espana.aula365.com",
        "almashopping.com",
        "airborn.com.ar",
        "1and1.mx",
        "oiasdoiajsdoiasdoiasjdioajsiodjaosdjiaoi.com"
    ];
});

您需要在全局空间中定义
urlsFinal

方法1:使用
窗口
变量:

jQuery(document).ready(function() { 
    var urlsFinal = [
        "avantrip.com.ar",
        "avantrip.com",
        "espana.aula365.com",
        "almashopping.com",
        "airborn.com.ar",
        "1and1.mx",
        "oiasdoiajsdoiasdoiasjdioajsiodjaosdjiaoi.com"
    ];
    window['urlsFinal'] = urlsFinal;
});
方法2:在全局空间中声明变量,但在同一空间中初始化它

var urlsFinal;
jQuery(document).ready(function() { 
    urlsFinal = [
        "avantrip.com.ar",
        "avantrip.com",
        "espana.aula365.com",
        "almashopping.com",
        "airborn.com.ar",
        "1and1.mx",
        "oiasdoiajsdoiasdoiasjdioajsiodjaosdjiaoi.com"
    ];
});

您需要在全局空间中定义
urlsFinal

方法1:使用
窗口
变量:

jQuery(document).ready(function() { 
    var urlsFinal = [
        "avantrip.com.ar",
        "avantrip.com",
        "espana.aula365.com",
        "almashopping.com",
        "airborn.com.ar",
        "1and1.mx",
        "oiasdoiajsdoiasdoiasjdioajsiodjaosdjiaoi.com"
    ];
    window['urlsFinal'] = urlsFinal;
});
方法2:在全局空间中声明变量,但在同一空间中初始化它

var urlsFinal;
jQuery(document).ready(function() { 
    urlsFinal = [
        "avantrip.com.ar",
        "avantrip.com",
        "espana.aula365.com",
        "almashopping.com",
        "airborn.com.ar",
        "1and1.mx",
        "oiasdoiajsdoiasdoiasjdioajsiodjaosdjiaoi.com"
    ];
});

您需要在全局空间中定义
urlsFinal

方法1:使用
窗口
变量:

jQuery(document).ready(function() { 
    var urlsFinal = [
        "avantrip.com.ar",
        "avantrip.com",
        "espana.aula365.com",
        "almashopping.com",
        "airborn.com.ar",
        "1and1.mx",
        "oiasdoiajsdoiasdoiasjdioajsiodjaosdjiaoi.com"
    ];
    window['urlsFinal'] = urlsFinal;
});
方法2:在全局空间中声明变量,但在同一空间中初始化它

var urlsFinal;
jQuery(document).ready(function() { 
    urlsFinal = [
        "avantrip.com.ar",
        "avantrip.com",
        "espana.aula365.com",
        "almashopping.com",
        "airborn.com.ar",
        "1and1.mx",
        "oiasdoiajsdoiasdoiasjdioajsiodjaosdjiaoi.com"
    ];
});


您是否在
php
文件中添加了
标题(内容类型:text/javascript);
?@RecoveringSince2003是的,我添加了。您不仅仅是
echo/printing
数组吗?您真的应该考虑一下$(document).ready()是否…您不需要将所有内容都封装在其中。别忘了投票选出正确的答案并接受它。您是否在
php
文件中添加了
标题(内容类型:text/javascript);
?@recoverings自2003年以来,是的。您不仅仅是
echo/printing
数组吗?您真的应该考虑一下$(文档)。ready()是否…您不需要将所有内容都封装在其中。别忘了投票选出正确的答案并接受它。您是否在
php
文件中添加了
标题(内容类型:text/javascript);
?@recoverings自2003年以来,是的。您不仅仅是
echo/printing
数组吗?您真的应该考虑一下$(文档)。ready()是否…您不需要将所有内容都封装在其中。别忘了投票选出正确的答案并接受它。您是否在
php
文件中添加了
标题(内容类型:text/javascript);
?@recoverings自2003年以来,是的。您不仅仅是
echo/printing
数组吗?您真的应该考虑一下$(文档)。ready()是的……你不需要把所有的东西都包在里面。别忘了投票选出正确的答案并接受它。这很简单……谢谢!+1,如果你提到
标题(内容类型:text/javascript);
这将是一个很好的参考资料。我之前对此表示怀疑。这很简单……谢谢!+1,如果你提到
标题(内容类型:text/javascript);
这将是一个很好的参考资源。我之前对此表示怀疑。这很简单……谢谢!+1,如果你提到
标题(内容类型:text/javascript);
这将是一个很好的参考资源。我之前对此表示怀疑。这很简单……谢谢!+1,如果你提到
标题(内容类型:text/javascript);
这将是一个很好的资源,供将来参考。我之前对此表示怀疑。