javascript - 单击链接时的 jquery SAVE 对话框

标签 javascript jquery html

当我在我的页面上点击一个链接时,我试图显示一个保存文件对话框。至少我想开始下载链接被点击的文件。这是我试过的。

只是为了好玩,我放置了“警报”语句以确保代码被渲染,而且确实如此。 Firebug 不会捕获任何错误。

//download button navigate
var downloadButton = $('#downloadLinkLabel', window.parent.document);
var downloadButtonFunc = function(e) {
    e.preventDefault();  //stop the browser from following
    alert('its working');
    window.location.href = 'image.jpg';
};
addEventHandler(downloadButton[0], 'click', downloadButtonFunc);

这是HTML代码

<div id="s-Label_61" class="label firer ie-background commentable">
    <div class="valign"><span>Download</span></div>
</div>

我正在使用原型(prototype)设计工具来创建一个 UI,并有一个运行我所有自定义脚本的底层浏览器页面。原型(prototype)工具只允许简单的 url,不允许设置标题/属性。如果有一种方法可以通过 jquery 注入(inject)此代码,那么就可以了

最佳答案

您可以使用支持浏览器的 HTML5 下载属性,对于不支持的浏览器,我认为唯一的解决方案是设置适当的 header 。

<a href="http://img.com/img.png" download="myImage.png">DOWNLOAD THIS IMAGE</a>

FIDDLE

编辑:

您(几乎)可以轻松地创建链接并使用 javascript 单击它

$('#s-Label_61 span').on('click', function() {
     var a = document.createElement('a');
     a.download = 'myImage.png';
     a.href = '/link/to/image.png';
     a.click();
});

FIDDLE

关于javascript - 单击链接时的 jquery SAVE 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20431777/

相关文章:

javascript - 获取文件路径并将其粘贴到文本文件中的最佳方法

javascript - 某些测试文件的 Node.js 代码覆盖率

javascript - flotchart,禁用图形刻度上的小数点

javascript - jQuery deferred.always() 回调的 Angular 等价物

jquery - 当您处于 "tagging"模式时,如何初始化 jquery select2 项目?

html - 使用伪类来减少背景图像而不是文本的不透明度

javascript - 对象 Javascript 循环的动态属性名称

jquery - toggleClass 不适用于基础

jQuery DatePicker - 'fake' 点击页面加载

javascript - 为音频 html5 付款器添加可定制的进度条