2019年使用的IFrame有哪些?

时间:2019-02-07 10:10:07

标签: javascript html rest iframe

我偶然发现一个使用IFrame与底层第三方系统通信的API。我想知道这只是一个旧系统,我注意到该系统除了IFrame之外,还公开了结构良好的相对现代的REST API。这让我感到奇怪。他们使用IFrame代替REST API有什么特别的好处吗?通过IFrame公开的功能是产品选择和价格检索。如果没有其他的REST API集,我会以为这是很老的东西了,但是现在对我来说,这是有意选择

什么会促使这种选择在2019年出现?

4 个答案:

答案 0 :(得分:1)

我个人将iframe用于YouTube等媒体。

答案 1 :(得分:1)

在教育界,您拥有开发用于管理在线课程的“平台”(学习管理系统,如Blackboard或Moodle)。

但是课程内容可能是由单独的开发人员/公司开发的。

因此,iFrame用于在平台框架内托管第三方内容。

答案 2 :(得分:0)

几年前,我大量使用PHP,并在页面中大量使用了<iframe>。目的是将<form>标签与actiontarget属性一起使用,因此不必使用AJAX提交表单,而是可以使用更自然的形式提交表单HTML方式,尤其是当包含文件也要上传时。到目前为止,这似乎是一件常事。我的猜测是,您所描述的网站背后的开发人员使用它来发送/检索隐藏数据。

正如通常所解释的那样,

REST是一种基于HTTP的服务如何相互通信的体系结构,包括前端和后端服务。像我描述的那样,使用隐藏的<iframe>的目的是避免使用AJAX。在这种情况下,REST是无关紧要的。您仍然可以使用隐藏的<iframe>以RESTful方式发送数据。当然,如果您将<form>targetaction以及method属性一起使用,则使用POST方法发送的数据可以是多部分格式,而不是JSON 。这并不意味着无法使用REST。 REST可以用于任何数据格式,包括多部分,甚至是urlencoded。

如果开发人员按照我刚才向您解释的方式使用<iframe>,则可能是出于浏览器兼容性的考虑。您无需编写JavaScript代码即可提交表单。当然,除了表单提交之外,还存在其他用途​​。因此,将<iframe> REST一起使用是可以的。如果可以正确格式化数据,则将<iframe>与SOAP,RPC,gRPC和GraphQL一起使用也是可以的。当然,就像您说的那样,这并不常见。与REST的通信通常使用AJAX,WebSocket等完成。<iframe>只是开发人员用来预处理并将数据发送到服务器的组件之一。也许开发人员也可以使用它来显示数据或其他元素,但是如果这是初衷,现在这种情况越来越少,由于安全问题应避免使用。

答案 3 :(得分:0)

<iframe>不是作废或不推荐使用的标记。它仍然在网络上广泛使用,主要用于媒体目的。

确实,许多Web服务已经升级,不允许在可以检测到的框架上使用其服务,这仅出于安全目的,这意味着我很确定有理由使用它们或必须在您提到的网站上使用iframe标签。