Trigger center/middle mouse để download file
TIL
652
Javascript
285
White

Dinh Duong viết ngày 17/05/2018

Trigger center/middle mouse để download fileYour TIL title

Chúng ta đã biết các file như hình ảnh .png .jpg... hoặc .pdf... thì browser sẽ tự động preview cho chúng ta, không nhưng các file khác là khi mởi new tab nó sẽ tự động download về như .xlms .doc .docs.

Vậy thì làm sao để download?

Browser có 1 chức năng là khi chúng ta nhấp center/middle mouse thì nó sẽ down file đó về chứ không priview file đó => Việc của chúng ta là giả lập lại thao tác mouse chân giữa.

Code

var url = 'your-file-url'
var link = document.createElement('a')
link.href = sUrl
link.setAttribute('target','_blank')
// Set filename khi download xuống
if (link.download !== undefined) {
    var fileName = sUrl.substring(sUrl.lastIndexOf('/') + 1, sUrl.length);
    link.download = fileName;
}
// Dispatch cái evetn middle mouse click
if (document.createEvent) {
    // left mouse: 0, middle: 1, right: 2
    var e = new MouseEvent( "click", { "button": 1, "which": 1 });
    link.dispatchEvent(e);
    return true;
}

jinhduong 17-05-2018

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Dinh Duong

19 bài viết.
193 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
69 10
(Ảnh) Với xu hướng lập trình mà business và phần lớn xử lý đều nằm ở tầng phía frontend với gánh nặng càng ngày càng đè lên vai chàng dũng sĩ javas...
Dinh Duong viết hơn 1 năm trước
69 10
White
58 8
(Ảnh) Cách tốt nhất để học bất cứ thứ gì là chúng ta dự định làm ra cái gì linh tinh để rồi trong quá trình làm ra sản phẩm chúng ta nhận ra những...
Dinh Duong viết 4 tháng trước
58 8
White
36 6
(Ảnh) 1.Hoàn cảnh Bạn đã bao giờ tự hỏi tại sao setTimeout(()={console.log(123)}, 0); được nhiều library sử dụng đến như thế? Nó là 1 kỹ thuật h...
Dinh Duong viết gần 2 năm trước
36 6
Bài viết liên quan
White
0 2
fCC: Technical Documentation Page note So I have finished the HTML part of this exercise and I want to come here to lament about the lengthy HTML ...
HungHayHo viết 7 tháng trước
0 2
White
21 1
Toán tử XOR có tính chất: + A XOR A = 0 + 0 XOR A = A Với tính chất này, có thể cài đặt bài toán sau với độ phức tạp O(N) về runtime, và với O(1)...
kiennt viết hơn 2 năm trước
21 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
19 bài viết.
193 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!