0

我正在编写一个浏览器插件,该插件需要存储特定于用户的时间变量。唯一需要数据的js文件是“在每一页上”,不能真正做本地存储。为此,我需要一些替代方案的方向。

让我进一步解释一下事情是如何运作的。

插件结构

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

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

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

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

我对替代方案的想法

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

  • 将其存储在我的服务器上 - 有可能,但希望有更好的方法可以关闭,因为我希望插件尽可能少地影响浏览速度,除非单击图像并调用 iframe。(南非的速度不太快的)。它的工作原理是必须连接到 facebook,调用用户 ID,然后将其发送到服务器,等待响应然后对其采取行动,这可能需要时间并减慢用户的浏览体验。

  • 以某种方式将数据存储在 iFrame.php 上 - 在调用 iFrame 之前我需要数据,这样就不会发生。

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

我很难过——我还能做什么?有任何想法吗?我已经用完了谷歌的关键字和学习技术。

4

1 回答 1

0

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

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

于 2013-04-19T08:20:44.293 回答