javascript - 文件创建后生成 HTML 链接

标签 javascript jquery

我有以下代码,当它检测到服务器上存在该文件时,它会弹出打开一个 jquery mobile 对话框,并使用指向该文件的链接更新该对话框的内容。它每秒检查文件是否存在并尝试最多 10 次。

代码工作正常,但是,当用户单击对话框中的实际链接来下载文件时,没有任何反应。但是,如果刷新浏览器,文件就会被下载。显然,我希望用户只需单击一次链接即可开始下载。

我确信我使用 setTimeout() 的方式使事情变得困惑,但我不确定还可以尝试什么。 Javascript/jquery 不是我的强项。谢谢!

function download_notify(grp_name, token) {
  $('#download_dialog_open_button').click();
  exists(0);
  function exists (try_count) {
    try_count = try_count + 1;
    $.ajax ( {
      type: 'HEAD',
      url: '/files/' + grp_name + '_' + token + '.csv',
      async: true,
      error: function (try_count) { 
        if (try_count < 10) 
          {setTimeout(exists, 1000);
        } else { 
          return; 
        }
      }, 
      success: function () {
        $('#download_dialog h1.ui-title').html('File ready');
        $('#download_dialog .ui-content div').html('<a href="/files/' + grp_name + '_' + token + '.csv">Download</a>');
      }
    })
  }
}

最佳答案

您尝试过rel="external"吗?,即:

$('#download_dialog .ui-content div').html('<a rel="external" href="/files/' + grp_name + '_' + token + '.csv">Download</a>');

关于javascript - 文件创建后生成 HTML 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29920727/

相关文章:

javascript - Typescript 语法澄清

javascript - 如何使用箭头键 move 图像javascript

javascript - WordPress 使用 AJAX 加载更多帖子

javascript - 条件可拖动 jQuery UI

javascript - 智能调整图像预览大小?

javascript - 当我在正则表达式中放置空格键时,为什么我的 Javascript test() 函数会失败?

javascript - JavaScript 中不同语法错误的不同行为

javascript - jquery 插件,settimeout 和 div 没有被追加,简单奇怪的情况

javascript - Jquery:每个语句只影响第一个项目

javascript - jquery多个显示/隐藏按钮