2011-11-10 44 views
2

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

+0

您可以发布Chrome插件或使用Java小程序。 –

+2

为什么你想要一个浏览器?既然你说你可以在他们的计算机上运行一个服务器,我认为这可能是一个更好的选择,因为它有更多的权限。如果这是因为您需要JavaScript,请尝试使用Node.js. – pimvdb

回答

1

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

编辑:在提供呼叫者ID数据的应用程序,把它推出镀铬通过你的网站中包含所需呼叫者ID数据通过查询字符串参数。然后在您的页面中,让它监听onstorage事件,并在相应的localStorage数据发生更改时更新下拉列表。

在您的来电显示应用,致电:

%ChromeInstallPath%\chrome.exe "http://foo.com/[email protected]" 

在你caller处理程序,使用这个JavaScript:

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

在你的页面的下拉列表中,使用这个JavaScript:

window.onstorage = function() { 
    setDropDownFromCallerId(localStorage.callerId); 
}; 
+0

对不起,我没有指定数据不是由远程网站创建的,而是由另一个应用程序创建的。 – Matthew

+0

@Matthew - 你能否澄清一下数据存储要求是什么?你说过:“数据可能存储在文件,数据库中,如果需要,我甚至可以在他们的计算机上运行网络服务器等。”您可以在客户端计算机上运行Web服务器,但不能填充'localStorage'? – gilly3

+0

我需要阅读更多关于localStorage的信息,但我认为这只是一个空间客户端,只有Web应用可以访问。另一个软件可以写入这个空间,并可以通过我的网站上的JS访问?我会读更多关于它!谢谢! – Matthew

3

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

+0

你知道这样一个插件还是你建议我编码? – Matthew

+0

如果你告诉我你想要访问什么数据,我可能会提出一些建议 –

+0

嗯,更准确地说:“这仅仅是使用*原生浏览器页面JavaScript而不可能的:-) – 2011-11-10 22:02:12

5

据我所知,你不能使用javascript访问用户机器上的文件。这将是一个巨大的安全漏洞。你必须编写一个客户端(而不是网络)应用程序(Windows应用程序或任何你使用的技术)。

+0

客户端应用程序如何帮助我的远程服务器访问用户计算机上的数据(这是我在问题中描述的要求)?你的建议不会有任何帮助。 – Matthew

+2

@matthew,你听起来像一个家伙。 – boom

+0

@boom .......? – Matthew

0

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

这是数据是独家您的应用程序(也就是,只有你创建,读取,更新它。)

如果此数据是唯一到您的应用程序,那么为什么不将其存储在HTML 5 Local Storage

+0

>>服务器端代码是否需要在处理请求期间获取其他信息?不,否则我不会建议JavaScript。服务器端代码不需要数据。客户端代码确实需要。 我应该根据客户端的数据在组合框中选择一个项目。 数据不是由网络应用程序创建的。 – Matthew

+1

@matthew,你听起来像一个家伙。 – boom

+0

@boom .......? – Matthew

相关问题