HTML5从缓存的iframe创建webrequest

时间:2012-01-09 15:13:33

标签: jquery html5 iframe webrequest html5-appcache

我们的情况:

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

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

随着使用HTML5规范,Frameset已经过时,我们正在寻找一种不同的方式来设置它。所以我们来到iframe标签。情况仍然是相同的,尽管它是在iframe中设置的。

现在我们遇到的问题是,只要在iframe中加载的单个网页,没有iframe就可以发出网络请求。

设置:

主页:

<!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个从互联网上加载的iframe而其他iframe被缓存,那么,是否仍然可以从该单个iframe发出webrequests?

我们希望这能确保应用程序尽可能将实时信息提供给母公司,同时应用程序从智能手机和/或平板电脑运行,可能会被带入危险的地方。 (酒窖,房屋,大桥或任何其他可能干扰信号的地方)当信号丢失并稍后恢复时,我们希望在没有用户操作的情况下发回信息。有了这样的场景,我们认为我们可以让它发挥作用。

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

0 个答案:

没有答案