1

我们有一个包含框架集的主页。这有 2 帧(帧 a 和帧 b)。使用应用程序缓存 (HTML5) 我们缓存主页面和框架 a。框架 b 是一个像任何网页一样被检索的页面。

现在我们发现,当一个页面被缓存时,它不能做 web 请求。因此框架 a 不能使用 web 请求收集数据,框架 b 可以。(只是一个普通的 $.get 或 $.post 使用 jQuery)。

随着 Frameset 在 HTML5 规范中过时,我们正在寻找一种不同的方法来设置它。所以我们归结为 iframe 标签。尽管它是在 iframe 中设置的,但情况仍然相同。

现在我们遇到的问题是,每当在 iframe 中加载单个页面时,没有 iframe 可以发出 Web 请求。

设置:

主页:

<!DOCTYPE html>
<html manifest="CacheManifest3.ashx">
<head>
    <title>Testpage for frames</title>
</head>
<body>
    <iframe height="200px" width="200px" style="position: relative; background: blue;" src="frame_c.html" ></iframe>
    <iframe height="200px" width="200px" style="position: relative; background: Yellow;" src="frame_d.html" ></iframe>
</body>

</html>

框架 a 和 b(唯一的区别是 a 和 b):

<script src="Scripts/jquery-1.7.1.js" type="text/javascript"></script>
<p>Frame a</p>

<script>
    function doclick()
    {
        $.post( "WebServices/SiteWebService.asmx/Test", null, function ( data )
        {
            alert( 'Done! ' + data );
        } );
    }
</script>

<button onclick="doclick();">Click for webrequest</button>
<button onclick="alert( 'Alert!' );">Click for alert</button>

缓存清单:

CACHE MANIFEST
#v1
CACHE:
Frametest2.html
frame_a.html

现在,归结为一个问题:是否可以至少保留 1 个从 Internet 加载的 iframe,而其他 iframe 被缓存,那么仍然可以从该单个 iframe 发出网络请求?

我们希望这样可以确保应用程序将尽可能实时的信息反馈给母公司,而应用程序是从智能手机和/或平板电脑运行的,这可能会被带到尴尬的地方。(地窖、房屋下、大桥或任何其他可能干扰信号的地方)当信号丢失并稍后恢复时,我们希望将信息发回,而无需用户操作。在这样的场景下,我们认为我们可以让它发挥作用。

编辑:更新以删除沙盒属性的测试参数。

4

0 回答 0