jQuery技术:加载这个js数组我做错了什么?

我已经添加了另一个问题,具体说明我认为这里的问题,但我认为更多细节会有所帮助。 所以,这是我的代码:

   Prueba jQuery no event    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"; }; }; }); });    

Hola, este es un link.

Hola, este es otro link.

Hola, este es otro link.

Hola, este es otro link.

loadUrls.php文件正在输出:

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

基本上,我将所点击的所有链接的href属性与从SQL数据库动态生成的数组进行比较。 此数组需要托管在外部文件中,因此需要托管loadUrls.php文件。

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

有什么想法吗?

谢谢!

    您已经为变量创建了一个本地范围 – 您应该将它放入全局范围,方法是使loadUrls.php只是脚本(没有$(document).ready wrapper):

     var urlsFinal = [ "avantrip.com.ar", "avantrip.com", "espana.aula365.com", "almashopping.com", "airborn.com.ar", "1and1.mx", "oiasdoiajsdoiasdoiasjdioajsiodjaosdjiaoi.com" ]; 

    将其添加到全局范围的另一种方法(如果您因某些其他原因需要$(document).ready闭包),则使用window.urlsFinal = [ ... ]

    您需要在全局空间中定义urlsFinal 。 有两种方法可以做到这一点。

    方法1:使用window变量:

     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" ]; }); 

      以上就是jQuery教程分享加载这个js数组我做错了什么?相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注(计算机技术网)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。

      如若转载,请注明出处:https://www.ctvol.com/jquerytutorial/558339.html

      (0)
      上一篇 2021年1月26日
      下一篇 2021年1月26日

      精彩推荐