什么是IFrames的互动替代品

时间:2014-02-18 12:48:41

标签: javascript jquery iframe

很满意!

我正在开发一个类似于Windows 8磁贴界面的项目,仅适用于网站。

这个想法是,当点击一个图块时,它会增长以填充网站(顶部保留一个菜单栏),用户可以定期浏览加载的网站。当他点击菜单栏上的按钮时,瓷砖会重新生长。

我的方法是使用IFrame。但是那些可以通过被访问站点的HTTP选项禁用,或者使用一些javascript来测试窗口顶层。

因此我需要某种IFrame替代品。我能找到的最好的东西是JQuery .load(url),它只显示网站的内容,而不是定期使用它。我的测试也很慢。

有什么我可以使用的,还是我不得不放弃这个想法?

提前致谢!

2 个答案:

答案 0 :(得分:0)

使用客户端技术...... jQuery的.load()将使用AJAX获取资源,并受XMLHttpRequest对象固有的同域原始策略(安全沙箱)约束。

iFrame将加载资源,但正如您所指出的那样,它有缺点。

使用服务器端技术...... 如果你需要打开的磁贴中只有几个网站,你可以使用服务器端技术(php,jsp,asp)预加载它们并将它们隐藏在容器对象(如div元素)中,然后以编程方式显示当用户通过悬停或点击事件激活磁贴时,它们就会出现。

以java为例,您可以使用java.net库打开字符串缓冲区,读取并保存网站内容,然后将该变量添加到servlet响应中。使用JSTL,您将从响应对象输出变量。

答案 1 :(得分:0)

在客户端加载来自不同来源的资源非常有限。你最好的选择可能是服务器端的代理(这不是一个完美的解决方案,因为它被诈骗者使用,仔细阅读) - 我记得这个iPad simulator有一个虚假的移动Safari浏览器使用{{3 }}