2013-07-24 2 views
2

Мне нужно создать greasemonkey userscript, который может получить путь к загруженному изображению, сохранить его, а затем установить на другой странице upload input.Как мне установить и установить путь для типа ввода = файл?

Насколько я понимаю, невозможно определить путь к файлу на input type=file с javascript.

Но возможно ли это с greasemonkey?

Как близко я могу получить желаемую функциональность и какие у меня варианты?

До сих пор я пытался получить доступ к значению input's через val(), но он не работает вообще.

EDIT:

Если я не могу получить путь, я могу по крайней мере, установить его, если я всегда использую ту же папку?

+1

вы можете использовать TamperMonkey в Chrome, который в любом случае лучше Greasemonkey, а затем вы можете использовать file.files [0] .webkitRelativePath. все еще не все, что вы хотите, но может быть лучше, чем ничего. в терминах для управления файлом открытого ящика определенной папки; вы не можете. – dandavis

+0

звучит интересно! могу ли я сохранить «значение» ввода файла, используя это? например, c:/... и т. д.? Возможно, скопируйте его в буфер обмена, который может работать? – user1721135

+0

webkit предоставляет ряд свойств и содержимого файла. вы можете сохранить их, если хотите использовать localStorage или загрузку, или сервер, или что-то более изобретательное ... – dandavis

ответ

0

Вы не можете получить это значение, но вы можете загрузить определенный локальный файл, используя GM_xmlhttpRequest.
Вам нужно будет попросить пользователей изменить конфигурацию greasemonkey.fileIsGreaseable на true.

Вы протестировали использование Greasemonkey только для того, чтобы изменить действие формы на новую страницу?
Я не тестировал его, но я думаю, вы должны попробовать.

0

Это невозможно, но не безопасно. Вы не можете изменить значение input type="file" с помощью JavaScript.

1

К сожалению, я не использовал Greasemonkey раньше, но на основе чисто на этой линии

позволяет настроить способ веб-странице отображается или ведет себя, используя небольшие кусочки из JavaScript.

Я бы предположил, что это невозможно. Чтобы понять, почему, вы должны понимать аргументы в пользу мер безопасности. Представьте, что JavaScript был, способный читать/писать в input[type='file'], злонамеренный JavaScript мог автоматически создавать форму, создавать входные данные файла, устанавливать его значение примерно на c:\\\Windows\\System32\\Some Sensitive File, а затем публиковать форму без вашего согласия.

Смежные вопросы