Как создать API в HTML 5, который вырезать / копировать / вставить - PullRequest
0 голосов
/ 12 декабря 2011

Я планировал создать новое веб-приложение на основе extjs, но мне нужно создать область загрузки файлов, где я мог бы работать с загрузкой файлов, я пробовал метод перетаскивания в html 5, но нам это не нужно нам нужен метод, где пользователь может скопировать файл, какой бы он ни был (не больше 20 мб), и расположение этого файла копируется в буфер обмена, и когда мы вставляем файл в выбранную область загрузчика, и файл загружается, Каков наилучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 28 декабря 2011

Эта спецификация для достижения этой цели: http://dev.w3.org/2006/webapi/clipops/ Но видно, что она еще не реализована ни в одном браузере (возможно, IE9)

Это может помочь вам: https://stackoverflow.com/a/6338207/230526

Если вы не заинтересованы в стандартном решении, у firefox из-за API плагинов есть обходной путь для этого, который вы можете увидеть здесь: https://developer.mozilla.org/en/Using_the_Clipboard

Я также нашел этот фрагмент кода, который обещает работатьв браузерах на основе Webkit: http://forum.maxthon.com/viewthread.php?tid=79469&page=1#pid493997

Если вам нужна поддержка всех браузеров, то Zero Clipboard, как указано здесь, - это путь.

ОБНОВЛЕНИЕ: Найден этот скрипт на основе Jquery (http://archive.plugins.jquery.com/project/clipboard), который использует собственный API IE для доступа к буферу обмена и Flash для всех остальных.Это может быть отправной точкой для объединения всех других решений и аварийного переключения на флэш-память, если она недоступна.

Для нулевого буфера обмена есть такая: http://www.steamdev.com/zclip/

1 голос
/ 12 декабря 2011

В настоящее время нет общего доступа к буферу обмена из браузеров.Существует флэш-объект под названием zeroclipboard, который можно использовать для доступа к некоторому буферу обмена.

Для ваших конкретных потребностей (если все данные обмениваются на вашей странице), вам может не понадобиться использовать фактический буфер обмена и, возможно, выможно просто использовать глобальное хранилище для хранения вещей, которые копируются для последующей вставки (используя ваши собственные операции копирования / вставки вместо операций с буфером обмена).

...