Javascript Firefox 复选框问题

问题描述 投票:0回答:1

我有一个 Web 应用程序,它访问数据库以返回文件名列表供用户选择下载。

过去,这只是根据用户过滤器确认要下载的文件(以及文件的数量/大小)。用户要求该列表具有复选框,以便他们可以自由地选中/取消选中任何文件。他们的一些过滤结果会生成超过 100k 个文件。直到添加了复选框并且一些用户报告他们的浏览器在等待结果列表时挂起时,这才成为问题。

问题似乎在于 Firefox 和复选框。 Chrome 和 Edge 在获取后立即返回任何列表大小。 Firefox 完成获取 POST,然后挂起。如果我删除复选框,Firefox 就没有问题。

我已经调查了下面字符串的问题。有人知道 Firefox 如何处理复选框以及为什么会发生这种情况?这有什么问题吗?

function calculateResultsText() {
  let text = document.getElementById('resultsProductContent');
  text.innerHTML = '';
  let string ='';
  let id_num = 1;
  let x = 0
  filesize_total = 0
  while ( x < result_filenames.length) {
    string_filename = result_filenames[x]
    string_filesize = result_filenames[x+1]
    filesize_total = filesize_total + parseInt(string_filesize)
    if (string_filesize > 1000000){
        string_filesize = (string_filesize/1000000).toFixed(2) + "GB"
    }
    else if (string_filesize > 1000){
        string_filesize = (string_filesize/1000).toFixed(2) + "MB"
    }
    else {
        string_filesize = string_filesize + "KB"
    }
    string += `<div class="form-check"><label class="form-check-label" label id="form-check-id" for="check${id_num}"> <input type="checkbox" class="form-check-input" id="check${id_num}" name="vehicle${id_num}" checked=""> ${string_filename} &emsp; ${string_filesize} </label></div>`
    //string += `${string_filename} &emsp; ${string_filesize} <br>`
    id_num+=1
    x+=2
  }
javascript firefox checkbox
1个回答
0
投票

如果大于 50k,请勿在 Firefox 中使用复选框。火狐浏览器无法处理它。为什么?没有任何线索。

© www.soinside.com 2019 - 2024. All rights reserved.