JavaScript如何从用户的计算机获取数据?

时间:2011-11-10 21:53:04

标签: javascript cross-domain security

Javascript(从远程服务器上的网站运行)如何从用户的本地计算机访问数据? 我可以访问所有用户的计算机,他们都使用Chrome。 数据可以存储在文件,数据库中,如果需要,我甚至可以在他们的计算机上运行网络服务器等。 有没有办法让我的用户例如允许我的网站从JavaScript访问数据? (可能有Chrome设置,但我仍然希望他们的浏览器安全)

4 个答案:

答案 0 :(得分:5)

据我所知,您无法使用javascript访问用户计算机上的文件。这将是一个巨大的安全漏洞。您必须编写客户端(而不是Web)应用程序(Windows应用程序或您正在使用的任何技术)。

答案 1 :(得分:3)

这是不可能只使用浏览器,因为正如你自己说的那样它是安全的。您可以使用用户必须允许的某种插件,然后可以访问计算机上的本地数据。

答案 2 :(得分:1)

听起来您可以灵活地将数据存储在用户的计算机中。在这种情况下,请使用localStorageWeb SQL Databases。 Web SQL数据库不再是HTML5规范的一部分,但Chrome支持它们。使用这些方法中的任何一种都会将数据存储在用户计算机上 - 实际上就是在浏览器中。

编辑:在提供来电者ID数据的应用程序中,让它使用chrome传入包含所需来电者ID数据的querystring参数来启动您的网站。然后在您的页面中,让它听取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);
};

答案 3 :(得分:0)

访问是什么意思?服务器端代码是否需要在处理请求期间获取其他信息?

这些数据是否适用于您的应用(即,只有您创建,阅读,更新它。)

如果此数据仅适用于您的应用,那么为什么不将其存储在HTML 5 Local Storage