好的,推出全屏iframe小部件?比。嵌入式?

时间:2012-09-25 23:12:36

标签: javascript html css iframe cross-domain

我需要将自定义小部件添加到我的应用程序网站的用户中,并且最初认为iframe会因为以下几个原因而变得更简单:

  1. 我可以使用为应用程序构建的自定义框架,它提供了大量预先构建的代码和功能,我将在窗口小部件中使用,因此无需重新创建。跨浏览器事件处理程序和原型对象只是众多示例中的一小部分。
  2. 我不必担心与CSS冲突,更具体地说 不必为我创建的每个dom元素使用内联css。
  3. 跨域请求不是问题,因为我已经构建了 需要使用的所有内容的功能 jsonp,所以不要让它成为嵌入式dom小部件的缺点。
  4. 目前的想法是编写一个快速的javascript片段,它本质上是一个按钮,并在全屏窗口上方加载一个透明的iframe。这将使我能够控制整个视图,并允许我像编写父应用程序的任何其他部分一样编写小部件。维护相同的json通信,使用相同的样式,使用框架等。单击iframe的任何部分不是窗口小部件的一部分(可能会在屏幕中间加载中心,如果打开则全屏显示)移动设备)将关闭小部件并使用户恢复到网站内的正常导航。但是,它们可以与我的小部件进行交互,就像它是加载javascript弹出窗口的网站的嵌入部分一样。

    小部件本身与服务器进行了大量的通信。加载时有一些请求,然后当用户进行交互时,它通常会发送请求,更改视图,然后等待另一个响应。

    所有这一切,这是一个坏主意,还是其他不专业的想法?我是否应该将额外的工作直接嵌入到主机DOM中并重写所有方便的框架代码?我这样做没有问题,但如果iframe是一个更合适的选择,那么我认为我宁愿这样做。我唯一的限制是我需要支持IE8,当然,小部件需要在桌面和移动设备上都可以查看,并且小部件不能突破客户端网站。

1 个答案:

答案 0 :(得分:0)

从另一篇文章中读到一些好文章。尽管已经结束,但它仍然有一些赞成iframe的正当论据。

Why developers hate iframes?

有几点引起共鸣:

  1. Gmail,live.com,Facebook上的任何其他主要网站 互联网利用iframe以及它们的情况 使用得当......这就是他们的目的。
  2. 在特别喜欢我的情况下,它被认为是一种更好的做法 防止与远程网站的任何可能的兼容性问题我 无法控制。我宁可使用iframe,还是要破坏 人物网站?当然,我可以采取一切可能的预防措施,并且 实际上在另一个人网站上造成问题的可能性是 苗条,但有一个iframe是不可能的。因此,为什么他们被创造 首先。
  3. 在我的情况下SEO并不重要。我只是在扩展一个 javascript应用程序到远程用户网站,不提供 可搜索的内容。
  4. 由于上述原因,我认为采取更简单的方法实际上是更专业的选择。一般来说,iframe有一点误解,我认为因为它们过去以丑陋的方式过度使用,但是表格也有同样的误解,但信不信由你,当数据最好以表格方式显示时,它会使使用意义......等待......表。虽然我们在css值之后执行此操作,例如display:table-cell。

    现在iframe获得了我的投票。如果在这个项目的发展道路上稍微进一步,我会更新这个答案,我改变主意。