vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue实现iframe嵌套Html页面

在vue中实现iframe嵌套Html页面及注意事项说明

作者:琉-璃

这篇文章主要介绍了在vue中实现iframe嵌套Html页面及注意事项说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue实现iframe嵌套Html页面及注意事项

如图:

跳转的个人中心为HTML页面,引用的是iframe嵌套

一、要嵌套的地方加上以下代码

如下:

<template>
  <div class="hello" >
    <iframe src="/static/aa.html" id="qt" scrolling="no" frameborder="0" style="position:absolute;top:64px;left: 0px;right:0px;bottom:100px;"></iframe>
  </div>
</template>
<script>
export default {
  name: 'adminIndex',
  data () {
    return {
    }
  },
  mounted () {
    /**
            * iframe-宽高自适应显示
            */
    function changeqtIframe () {
      const qt = document.getElementById('qt')
      const deviceWidth = document.body.clientWidth
      const deviceHeight = document.body.clientHeight
      qt.style.width = Number(deviceWidth) + 'px' // 数字是页面布局宽度差值
      qt.style.height = Number(deviceHeight) + 'px' // 数字是页面布局高度差
    }
    changeqtIframe()
    window.onresize = function () {
      changeqtIframe()
    }
  }
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>

二、在运行项目npm run dev时

iframe中的src为你本项目的中的文件,所以要把HTML页面放在项目里面,如果是外部文件的话直接替换成https://www.....就行,我的是直接在项目根目录下新建一个static文件夹,这样正常跳转既可实现效果。

如下:

 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>zwh</title> 
<head>
  <meta charset="utf-8">
  <title>iframe Window</title>
  <style>
    body {
      background-color: white;
      color: rgb(71, 34, 34);
    }
  </style>
</head>
<body>
<h1>Html页面展示</h1>
<button>向VUE发送信息</button>
<script> 
</script>
</body>
</html> 

三、需注意的是

当进行静态文件打包npm run build时,iframe中的路径为你本地现在这个盘下的文件,

例如:

我这个案例,打包完src就等于D:/static/aa.html,在本地D盘根目录下必须有一个这一个文件,部署到网上也是同理

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文