Files
kh-device-admin/jero-web/src/components/layouts/IframePageView.vue
T

66 lines
1.9 KiB
Java

<template>
<iframe :id="id" :src="url" frameborder="0" width="100%" height="800px" scrolling="auto"></iframe>
</template>
<script>
import Vue from 'vue'
import { ACCESS_TOKEN } from '@/store/mutation-types'
// import PageLayout from '../page/PageLayout'
// import RouteView from './RouteView'
export default {
name: 'IframePageContent',
inject: ['closeCurrent'],
data () {
return {
url: '',
id: ''
}
},
created () {
this.goUrl()
},
updated () {
this.goUrl()
},
watch: {
$route (/* to, from */) {
this.goUrl()
}
},
methods: {
goUrl () {
const url = this.$route.meta.url
this.id = this.$route.path
// url = "http://www.baidu.com"
console.log('------url------' + url)
if (url !== null && url !== undefined) {
// -----------------------------------------------------------------------------------------
// url支持通过 ${token}方式传递当前登录TOKEN
// eslint-disable-next-line no-template-curly-in-string
const tokenStr = '${token}'
if (url.indexOf(tokenStr) !== -1) {
const token = Vue.ls.get(ACCESS_TOKEN)
this.url = url.replace(tokenStr, token)
} else {
this.url = url
}
// -----------------------------------------------------------------------------------------
/* update_begin author:wuxianquan date:20190908 for:判断打开方式,新窗口打开时this.$route.meta.internalOrExternal==true */
if (this.$route.meta.internalOrExternal !== undefined && this.$route.meta.internalOrExternal === true) {
this.closeCurrent()
window.open(this.url)
}
/* update_end author:wuxianquan date:20190908 for:判断打开方式,新窗口打开时this.$route.meta.internalOrExternal==true */
}
}
}
}
</script>
<style>
</style>