Как JavaScript может получать данные с компьютера пользователя? - PullRequest
3 голосов
/ 11 ноября 2011

Как Javascript (запущенный с веб-сайта на удаленном сервере) может получать доступ к данным с локального компьютера пользователя? У меня есть доступ ко всем компьютерам пользователя, и все они используют Chrome. Данные могут храниться в файле, базе данных, я даже могу запустить веб-сервер на своих компьютерах, если это необходимо, и т. Д. Могут ли мои пользователи, например, разрешить моему веб-сайту доступ к данным из JavaScript? (может быть, есть настройка Chrome, но я все еще хочу, чтобы их браузер был безопасным)

Ответы [ 4 ]

5 голосов
/ 11 ноября 2011

Насколько я знаю, вы не можете получить доступ к файлам на компьютере пользователя с помощью JavaScript.Это было бы огромной дырой в безопасности.Вы должны написать клиентское (не веб) приложение (приложение для Windows или любую другую технологию, которую вы используете).

3 голосов
/ 11 ноября 2011

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

1 голос
/ 11 ноября 2011

Похоже, вы гибко относитесь к тому, где хранятся данные на компьютере пользователя. В этом случае используйте localStorage или Базы данных Web SQL . Базы данных Web SQL больше не являются частью спецификации HTML5, но они поддерживаются Chrome. Использование любого из этих методов позволит сохранить данные на компьютере пользователя - фактически в браузере.

Редактировать: В приложении, предоставляющем данные идентификатора вызывающего абонента, запустите ваш веб-сайт с помощью chrome, передавая аргумент строки запроса, содержащий необходимые данные идентификатора вызывающего абонента. Затем на вашей странице прослушайте событие onstorage и обновите раскрывающийся список при изменении соответствующих данных localStorage.

В вашем приложении для идентификации вызывающего абонента звоните:

%ChromeInstallPath%\chrome.exe "http://foo.com/caller?Bill+Gates@425-882-8080"

В вашем обработчике caller используйте этот JavaScript:

window.onload = function() {
    localStorage.callerId = location.search;
};

На вашей странице с выпадающим списком используйте этот JavaScript:

window.onstorage = function() {
    setDropDownFromCallerId(localStorage.callerId);
};
0 голосов
/ 11 ноября 2011

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

Являются ли эти данные эксклюзивными для вашего приложения (то есть только вы создаете, читаете, обновляете их)?

Если эти данные являются эксклюзивными для вашего приложения, то почему бы не сохранить их в Локальном хранилище HTML 5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...