美文网首页
iframe、form表单

iframe、form表单

作者: A郑家庆 | 来源:发表于2018-12-03 18:26 被阅读0次

iframe

  HTML内联框架元素<iframe>表示嵌套的浏览上下文,有效的将另一个HTML页面嵌入当前页面中,被嵌入的页面称为父框架,嵌入的页面称为子框架。它可以嵌入本项目中的html页面,也可以嵌入其他项目的html页面,嵌入本项目的页面放在static文件夹中,嵌入其他项目的页面需要另外一个项目启动并且用src引入这个页面的url地址,相当于新打开一个html页面。如果父框架想要获取子框架内容必须遵守同源策略,否则没有办法获取,同样的子框架想要访问父框架的内容也必须遵守同源策略。判断是根据iframe的src,iframe嵌入的就是一个网页,不管是不是同源的。
  注意:iframe的意思就是嵌入一个新页面。内容必须要用src引入,不能将内容写在iframe中间,除非浏览器不支持iframe才能显示iframe中间的内容。

优点:iframe能够嵌入一个网页。
缺点:移动设备兼容性差,不利于性能优化等。

form

  form表单用于向服务器请求接口数据,下载excel表格可以用form,提交图片、文件信息需要用到type=file,formData,form表单类似于接口请求后台,但是请求回来后的行为不一样,普通请求是返回请求结果,form请求是将返回的结果直接显示在页面上,并且会删掉之前的页面。

注意:除非是下载excel表格可以把form跟其他代码写在一起,不然用form请求后台就会刷新页面,请求回来的数据就会把页面替换,并且页面的url会变成请求的接口地址。

上面这个项目,没有把html内容写在vue中也没有写在iframe中,首先因为不能写在iframe中,因为写在里面内容不显示,只有浏览器不支持iframe的时候才会显示这部分内容,第二没有把form直接写在vue中,因为页面会刷新为请求接口的地址,并且返回的数据会替换已有的页面,第三请求的form表单的接口地址跟项目的域是不同的,所以还会出现跨域问题,综合上述三种情况所以必须在本项目的static文件夹新建一个html页面,然后在vue中用iframe引入进来,这是最佳的解决方式。另外一种方式是将form表单请求地址写在vue中,然后用代理的方式发送请求,这样子就不会出现跨域问题。

总结:iframe就是嵌入一个新页面,form表单就是向后端发起请求,请求回来的数据会替换之前的页面,下载功能不会,form表单请求没有跨域的概念,不管请求什么接口都会替换原有的页面。

相关文章

网友评论

      本文标题:iframe、form表单

      本文链接:https://www.haomeiwen.com/subject/huoecqtx.html