使用Javascript存储数据的替代方案

时间:2013-04-19 07:57:58

标签: javascript variables local-storage storage

我正在编写一个浏览器插件,需要存储特定于用户的时间变量。唯一的问题是需要数据的js文件是“在每个页面上”而且不能真正做本地存储。 我需要一些指导方针来解决这个问题。

让我再解释一下如何运作。

插件结构

  • 该插件在特定网站上从我的服务器调用javascript文件 - 名为appScript.js

  • appScript.js是我们的主要文件,并在所选网站上放置图像。单击图像时,它会调用一个名为iframe.php的iFrame,其中包含一个main.js文件。

  • 从iFrame用户连接到Facebook,我们提取他们的Facebook ID并将信息发送到php脚本,该脚本将一些数据存储在mysql表中。每个用户信息都使用他们的Facebook ID作为索引位于mySQL上。

appScript.js需要保存特定于用户的变量。

我对替代方案的想法

  • 在本地存储数据 - 当我在appScript.js上使用本地存储时,它会存储特定于url的数据,因此当在不同的URL上调用appScript.js时无法访问它。

    < / LI>
  • 将它存储在我的服务器上 - 这是可能的,但希望有一条更好的路线,因为我希望插件尽可能少地影响浏览速度,除非点击图像并调用iframe。(南非洲的速度不是太快了)。如何工作是它必须连接到Facebook,调用用户ID,然后将其发送到服务器,等待响应然后采取行动,这可能需要时间并减慢用户的浏览体验。

  • 将数据存储在iFrame.php上的一些方法 - 我在调用iFrame之前需要数据,因此无法发生。

  • 我想过动态地将一个不可见的iFrame加载到可以使用本地存储的页面上,因为它会将它保存在我的服务器URL下,因此可以在任何页面上访问。唯一的问题是,我还没有成功地使用不在iframe中的appScript.js从iFrame上保存的变量调用数据。 (如果有可能,有人可能会指出我的工作示例。我已经阅读了代码,但未能成功实施)

我很难过 - 我还能做什么?有任何想法吗?我用完谷歌的关键词和学习技巧。

1 个答案:

答案 0 :(得分:0)

使用Userscripts(GreaseMonkey等),有一个名为GM_setVlaue,GM_getValue的函数,它们将以特定于脚本的方式保存(和获取)值。

如果您不想使用用户脚本,可以查看插件源并查看它们如何在幕后加载/保存值。