在vue中嵌入外部网站的实现


Posted in Javascript onNovember 13, 2020

利用iframe

top:导航栏的height

left:左侧菜单栏的width

src:右侧页面要嵌入的外部网站

<template>
 <div>
  <iframe src="https://www.iconfont.cn/" id="mobsf" scrolling="no" frameborder="0" style="position:absolute;top:64px;left: 240px;right:0px;bottom:100px;"></iframe>
 </div>
</template> 
 
<script>
 export default {
  data () {
   return {
   }
  },
  mounted(){
   /**
   * iframe-宽高自适应显示 
   */
   function changeMobsfIframe(){
    const mobsf = document.getElementById('mobsf');
    const deviceWidth = document.body.clientWidth;
    const deviceHeight = document.body.clientHeight;
    mobsf.style.width = (Number(deviceWidth)-240) + 'px'; //数字是页面布局宽度差值
    mobsf.style.height = (Number(deviceHeight)-64) + 'px'; //数字是页面布局高度差
   }

   changeMobsfIframe()

   window.onresize = function(){
    changeMobsfIframe()
   }
  }
 }
</script>

在vue中嵌入外部网站的实现

补充知识:导航钩子有哪几种,如何将数据传入下一个点击的路由页面

1.全局导航守卫

//前置钩子
router.beforeEach((to,from,next)=>{
 //do something
})
//后置钩子(没有next参数)
router.afterEach((to, from)=>{
 // do something
})

2.路由独享守卫

const router = new VueRouter({
 routes: [
 {
  path: '/file',
  component: File,
  beforeEnter: (to, from, next)=>{
  //do something
  } 
 }
 ]
})

3.组件内的导航钩子

组件内的导航钩子主要有三种,beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave。它们是直接在路由组件内部直接进行定义的

data(){
 return{
 pro:'产品'
 }
},
beforeRouteEnter:(to,from,next)=>{
 console.log(to)
 next(vm => {
 console.log(vm.pro)
 })
}

注意:beforeRouteEnter不能获取组件实例this,因为当守卫执行前,组件实例还没被创建出来,我们可以通过给next传入一个回调来访问组件实例,在导航被确认时,会执行这个回调,这时就可以访问组件实例了。

仅仅是beforeRouterEnter支持给next传递回调,其他两个并不支持,因为剩下两个钩子可以正常获取组件实例this。

4.params和query

params传参

this.$router.push({
 name: 'detail',
 params: {
 name: 'xiaoming'
 } 
});
//接收
this.$route.params.name

query

this.$router.push({
 path: '/detail',
 query:{
 name: 'xiaoming'
 }
});
//接收
this.$route.query.id

query和params的区别

params只能用name来引入路由,query既可以用name又可以用path(通常是path)

params类似于post方法,参数不会在地址栏中显示

query类似于get,页面跳转的时候,可以在地址栏看到参数

补充:

router为VueRouter实例,想要导航到不同url,则使用router.push方法

$route为当前router跳转对象,在里边获取name,path,query,params等数据

以上这篇在vue中嵌入外部网站的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
理解JavaScript中的对象 推荐
Jan 09 Javascript
学习javascript,实现插入排序实现代码
Jul 31 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
Jan 06 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
Feb 26 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
Dec 12 Javascript
JS字符串拼接在ie中都报错的解决方法
Mar 27 Javascript
js实现select组件的选择输入过滤代码
Oct 14 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
Sep 07 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
Sep 12 Javascript
使用javascript做在线算法编程
May 25 Javascript
js实现导航跟随效果
Nov 17 Javascript
vue实现购物车功能(商品分类)
Apr 20 Javascript
如何基于viewport vm适配移动端页面
Nov 13 #Javascript
VueCli生产环境打包部署跨域失败的解决
Nov 13 #Javascript
Vue使用Proxy代理后仍无法生效的解决
Nov 13 #Javascript
vue iview 隐藏Table组件里的某一列操作
Nov 13 #Javascript
详解Java中String JSONObject JSONArray List转换
Nov 13 #Javascript
vue print.js打印支持Echarts图表操作
Nov 13 #Javascript
vue 中使用print.js导出pdf操作
Nov 13 #Javascript
You might like
十天学会php之第八天
2006/10/09 PHP
PHP在线生成二维码代码(google api)
2013/06/03 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
理解Javascript_12_执行模型浅析
2010/10/18 Javascript
JavaScript的document对象和window对象详解
2010/12/30 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
JavaScript的继承的封装介绍
2013/10/15 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
深入浅析Vue组件开发
2016/11/25 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
2017/05/09 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
Node.js爬取豆瓣数据实例分析
2018/03/05 Javascript
vue登录页面cookie的使用及页面跳转代码
2019/07/10 Javascript
javascript实现简易数码时钟
2020/03/30 Javascript
[51:39]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第二场 2月7日
2021/03/11 DOTA
python标准算法实现数组全排列的方法
2015/03/17 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
Centos7 Python3下安装scrapy的详细步骤
2018/03/15 Python
python实现批量nii文件转换为png图像
2019/07/18 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
2019/07/28 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
Python 防止死锁的方法
2020/07/29 Python
Mytheresa美国官网:德国知名的女性奢侈品电商
2017/05/27 全球购物
Kathmandu新西兰官网:新西兰户外运动品牌
2019/07/27 全球购物
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
网站编辑求职信
2013/10/17 职场文书
水电工岗位职责
2014/02/12 职场文书
企业党员一句话承诺
2014/05/30 职场文书
病人写给医生的感谢信
2015/01/23 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
2016年艾滋病宣传活动总结
2016/04/01 职场文书
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server