gpt4 book ai didi

javascript - 除非控制台打开,否则 JS 会失败

转载 作者:行者123 更新时间:2023-11-28 08:44:20 25 4
gpt4 key购买 nike

我真的被这个问题难住了。
我有一些 JavaScript 来控制产品配置器。
一段简单的代码来选择一些默认值

  • 在 Chrome 中运行良好
  • 在 IE 中运行良好
  • 不适用于 Firefox(所有最新版本)

但是,如果我做任何事情来观察 FF 中的代码,它工作正常

  • 如果我让它提醒任何相关的事情,它就会起作用。
  • 如果我记录任何相关内容,它就会起作用,但前提是控制台实际上已打开,以便我可以看到日志。如果控制台未打开,则不起作用。

     for(type in radio_groups) {
    if_checked = !!$(":radio[name="+type+"]:checked").length;

    console.log($('.'+type).not('[class*="unavailable"]'));
    //This loop doesnt do anything without this log above

    alert($('.'+type).not('[class*="unavailable"]'));
    // Or this alert.

    var t = $('.'+type).not('[class*="unavailable"]');
    // Line above doesn't make stuff work.

    if(!if_checked)
    $('.'+type).not('[class*="unavailable"]').first().click();
    }

if_checked 对于每个 type 都是 false,我可以在它运行时验证这一点。

但是,什么也没有发生。
没有点击任何按钮。
这是浏览器中的普通单线程 JS。
页面上没有间隔/超时功能。

我可以在最后一行之前执行任意耗时的任务(我最好的想法是这是一个并发问题,我不知道日志记录会如何影响任何事情)并且它没有任何效果。

我可以运行相同的选择器并将其放入字符串中,或​​者除了日志记录或警报之外对其进行任何您能想到的操作,但它不会起作用;没有按钮被点击。只有积极观察发生的事情才能使代码正常工作。整个交易相当复杂,我无法提供全部内容。

关于如何做的任何想法:

  • 日志记录可能会影响简单点击事件的结果?
  • 为什么这是 Firefox 特有的?或者我可以尝试其他方式在没有控制台或警报的情况下查看出了什么问题?

编辑:哦,我已经让另外两个人在他们的浏览器中复制了这个问题(同样,仅限 Firefox),所以这不是一个奇怪的扩展问题,除非我们都分享它。

谢谢。

最佳答案

此行无效:

var t = "$('.'+type).not('[class*="unavailable"]')";

可能应该是:

var t = "$('.'+type).not('[class*=\"不可用\"]')";

或者:

var t = $('.'+type).not('[class*="unavailable"]');

关于javascript - 除非控制台打开,否则 JS 会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20061569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com