在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 面向对象(创建对象)
Mar 30 Javascript
js禁止document element对象选中文本实现代码
Mar 21 Javascript
jquery阻止冒泡事件使用模拟事件
Sep 06 Javascript
javascript实现延时显示提示框特效代码
Apr 27 Javascript
Svg.js实例教程及使用手册详解(一)
May 16 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
Sep 21 jQuery
webpack搭建vue 项目的步骤
Dec 27 Javascript
vue-cli 如何打包上线的方法示例
May 08 Javascript
Javascript格式化并高亮xml字符串的方法及注意事项
Aug 13 Javascript
layui问题之模拟select点击事件的实例讲解
Aug 15 Javascript
微信小程序实现商城倒计时
Nov 01 Javascript
Javascript如何递归遍历本地文件夹
Aug 06 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中获取变量的变量名的一段代码的bug分析
2011/07/07 PHP
Laravel中使用自己编写类库的3种方法
2015/02/10 PHP
PHP实现的限制IP投票程序IP来源分析
2016/05/04 PHP
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
php反射类ReflectionClass用法分析
2016/05/12 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
JScript中的undefined和&quot;undefined&quot;的区别
2007/03/08 Javascript
Javascript 读后台cookie代码
2008/09/15 Javascript
javascript 动态数据下的锚点错位问题解决方法
2008/12/24 Javascript
JS 图片缩放效果代码
2010/06/09 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
用js编写的简单的计算器代码程序
2015/08/04 Javascript
jQueryUI中的datepicker使用方法详解
2016/05/25 Javascript
AngularJS入门教程之XHR和依赖注入详解
2016/08/18 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
Angular2环境搭建具体操作步骤(推荐)
2017/08/04 Javascript
react-native中ListView组件点击跳转的方法示例
2017/09/30 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
2019/04/28 jQuery
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
详解Django中Request对象的相关用法
2015/07/17 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
Python操作word文档插入图片和表格的实例演示
2020/10/25 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
html5触摸事件判断滑动方向的实现
2018/06/05 HTML / CSS
世界上最大的二手相机店:KEN
2017/05/17 全球购物
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
合作经营协议书
2014/04/17 职场文书
给校长的建议书400字
2014/05/15 职场文书
十八大演讲稿
2014/05/22 职场文书
群众路线教育实践活动整改落实情况汇报
2014/10/28 职场文书
房产证明范本
2015/06/19 职场文书
高一地理教学工作总结
2015/08/12 职场文书
python获取淘宝服务器时间的代码示例
2021/04/22 Python
用python开发一款操作MySQL的小工具
2021/05/12 Python