2012-11-08 48 views
18

Kéo các mục vào trình duyệt được tài liệu khá tốt và HTML5 giúp việc này trở nên dễ dàng hơn.Kéo và thả * TỪ * một trình duyệt?

Tuy nhiên, tôi tự hỏi liệu làm cách nào và có thể kéo 'n' thả ra khỏi trình duyệt.

Trong kịch bản này, bạn muốn có một yếu tố trang web (ví dụ. Một neo) mà người dùng sẽ bấm & kéo OUT của trình duyệt lên một mục tiêu thả, và trình duyệt sẽ gửi các đối tượng liên quan (ví dụ. an href'd tệp) trực tiếp đến mục tiêu thả thay vì bắt đầu tải xuống thông thường.

Có ai biết nếu điều này là có thể không?

+0

Không, chắc chắn là không. – woz

+1

@woz: Tôi chắc chắn nó thực sự là. Hãy thử kéo một liên kết đến một tập tin .mp3 hoặc một cái gì đó, nó sẽ không tải về tập tin vào vị trí đó? Hoặc nó sẽ chỉ đơn giản là tạo ra một liên kết trên máy tính của bạn? –

+1

@MadaraUchiha Nó không có tác dụng với tôi. Kéo và thả từ một trang web vào máy tính của bạn sẽ là một vấn đề bảo mật lớn mà tôi nghi ngờ rằng nó sẽ được thực hiện. – woz

Trả lời

3

Khái niệm Có, điều này là có thể. Nhưng nó sẽ là hệ điều hành/ứng dụng xử lý thả để quyết định phải làm gì với nó. Trong thực tế, bạn có thể làm chính xác những gì bạn mô tả với chrome. Mở một cửa sổ chrome mới và kéo một liên kết đến nó. Nó điều hướng ở đó. Kéo liên kết tới màn hình của bạn. Trong Win7 nó tạo ra một phím tắt/liên kết đến trang đó.

Điều bạn đang nói đến không phải là kéo và thả HTML mà thực sự ở cấp hệ điều hành/ứng dụng. Và sẽ phải được xử lý bằng ngôn ngữ ứng dụng, không phải HTML trình duyệt.

9

Điều bạn đang cố gắng thực hiện có thể tìm thấy tại đây: http://www.thecssninja.com/javascript/gmail-dragout.

Đây là giải thích về cách kéo thẻ neo vào màn hình và tệp sẽ được tải xuống ở đó. (Hoặc kéo thẻ neo vào một ứng dụng khác và hệ điều hành sẽ xử lý nó một cách thích hợp.)

Điều tôi chưa tìm ra là cách kéo và thả nhiều liên kết (thay vì chỉ một lần) qua HTML5, mà không cần phải sử dụng thư viện tài nguyên bên ngoài như jquery.

+0

Đó là Dropbox đã đưa tôi đến câu hỏi này. Tôi nhận thấy rằng bằng cách sử dụng ứng dụng web, bạn có thể kéo từng tệp ra, nhưng không đánh dấu nhiều tệp rồi tải xuống tất cả chúng. Điều này làm tôi thất vọng. Tôi không thể nghĩ nó sẽ được thực hiện như thế nào. Liệu jQuery có thể chặn liên kết này bằng cách nào đó và gửi từng tệp tới hệ điều hành riêng lẻ (tức là một liên kết với nhau) không? Tôi rất có thể gặp phải một yêu cầu tương tự trong một ứng dụng web mà tôi đang làm việc. –

+0

@RyanWilliams bạn có thể tạo liên kết bao gồm ID của mỗi tệp và thực hiện sự kiện tải xuống cho một tệp duy nhất, về bản chất là tệp zip của từng tệp được chọn trong một gói. Tôi không tin rằng bạn có thể tạo nhiều lượt tải xuống từ sự kiện đơn lẻ (tôi chưa thử nó, nhưng kế hoạch tự mình thực hiện phương thức zip). – JustinN

+0

Bài viết này là tuyệt vời, tuy nhiên, những gì nếu bạn muốn làm điều này trong một môi trường địa phương. Tôi có một ứng dụng Angular2/Node cục bộ để theo dõi lưu trữ. Tôi muốn kéo và thả một tập tin từ GUI web của tôi vào một ứng dụng khác. Điều này gần như có vẻ như nó sẽ làm việc, ngoại trừ thực sự chuyển tập tin, tôi chỉ muốn chuyển một liên kết tượng trưng. Có ai từng thấy điều đó không? – JasonPerr

Các vấn đề liên quan