Ajax,检查更新,Same_origin_policy

时间:2009-12-09 20:07:22

标签: ajax security auto-update manual

我有这个随我的应用程序安装的HTML手册。本手册经常更新(每周3-5次),如果手册已过期,我想提醒用户。

我想到的第一件事就是为我的网络服务器创建一个热链接图像,我可以用它来检查他们使用的版本,并提供“更新”图像或“无更新”图像。但如果用户没有互联网连接,图像将显示为损坏的图像。我不希望这样。

接下来,我查看了使用一些Ajax从我的网络服务器发出请求。如果用户没有interenet连接,Javascript将能够正常失败。但我遇到了一个问题。由于手册存储为用户PC上的本地文件,因此它被视为跨域请求(Same Origin Policy)以从我的网络服务器发出请求。

有关还有什么可以尝试的任何建议吗?

我不能在开始菜单中将超链接包含在手册的在线版本中,因为我的许多用户都没有互联网连接。

3 个答案:

答案 0 :(得分:1)

使用$ .post和回调函数来处理您的回复。这是“同源政策”的安全。

.post

答案 1 :(得分:1)

你的第一个直觉对我来说似乎是最简单的解决方案。

使用热链接图片来宣传更新。使用ALT文本隐藏损坏的图像并向用户显示有用的消息。

例如,您可以尝试:

<img src="foobar.jpg?v=1.05.93" alt="Checking for updates... Offline! Connect to the internet to check for updates to this manual." name="UpdateChk" />

在你的CSS中,加入一个边框和一些填充,以便IMG ALT文本脱颖而出,并不仅仅看起来像是手册中的常规文本部分。也许1px边框和3px的边距/填充?

答案 2 :(得分:0)