在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 相关文章推荐
基于JQuery实现异步刷新的代码(转载)
Mar 29 Javascript
jquery下jstree简单应用 - v1.0
Apr 14 Javascript
JS中实现简单Formatter函数示例代码
Aug 19 Javascript
jQuery实现监控页面所有ajax请求的方法
Dec 10 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
Jun 12 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
Jul 01 Javascript
AngularJS基础 ng-readonly 指令简单示例
Aug 02 Javascript
JavaScript轮播图简单制作方法
Feb 20 Javascript
Javascript调试之console对象——你不知道的一些小技巧
Jul 10 Javascript
JS实现十字坐标跟随鼠标效果
Dec 25 Javascript
如何基于jQuery实现五角星评分
Sep 02 jQuery
uni-app实现获取验证码倒计时功能
Nov 01 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 a simple smtp class
2007/11/26 PHP
PHP写杨辉三角实例代码
2011/07/17 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
php查询内存信息操作示例
2019/05/09 PHP
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
Angular2生命周期钩子函数的详细介绍
2017/07/10 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
JS实现的数组去除重复数据算法小结
2017/11/17 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
基于vue-cli 打包时抽离项目相关配置文件详解
2018/03/07 Javascript
微信小程序template模版的使用方法
2019/04/13 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
Python批量修改文件后缀的方法
2014/01/26 Python
Python 3.x 新特性及10大变化
2015/06/12 Python
浅析python递归函数和河内塔问题
2017/04/18 Python
Python中循环后使用list.append()数据被覆盖问题的解决
2018/07/01 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
Django框架的中的setting.py文件说明详解
2018/10/15 Python
Python Numpy:找到list中的np.nan值方法
2018/10/30 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
pandas 使用均值填充缺失值列的小技巧分享
2019/07/04 Python
Django使用中间键实现csrf认证详解
2019/07/22 Python
Staples加拿大官方网站:办公用品一站式采购
2016/09/25 全球购物
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
JAVA中的关键字有什么特点
2014/03/07 面试题
退伍老兵事迹材料
2014/01/31 职场文书
2015小学师德工作总结
2015/07/21 职场文书
新娘婚礼致辞
2015/07/27 职场文书
导游词之清晏园
2019/11/22 职场文书
在python中实现导入一个需要传参的模块
2021/05/12 Python
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server