修复iframe无法缓存的问题

master
toesbieya 6 years ago
parent 081d53e66e
commit 8d2b5e99e3
  1. 2
      vue/src/layout/component/TagsView/index.vue
  2. 18
      vue/src/router/index.js
  3. 6
      vue/src/store/module/iframe.js

@ -105,7 +105,7 @@ export default {
}
},
//titletab
//meta.titletab
addTags(to = this.$route) {
return to.meta.title ? this.$store.dispatch('tagsView/addView', to) : Promise.resolve()
},

@ -112,12 +112,20 @@ function getAuthorizedPath(route) {
//判断是否需要打开iframe
function iframeControl(to, from) {
let iframe = to.meta.iframe
const operate = iframe ? 'open' : 'close'
if (to.path === `/redirect${from.path}`) {
iframe = from.meta.iframe
//从iframe页面离开时,判断是否需要删除iframe
if (from.meta.iframe) {
let del = false
//如果设置了无缓存或是进行了刷新,那么移除iframe
if (from.meta.noCache || to.path === `/redirect${from.path}`) {
del = true
}
store.dispatch(`iframe/close`, {src: from.meta.iframe, del})
}
//跳转至iframe页面时,打开iframe
if (to.meta.iframe) {
store.dispatch(`iframe/open`, {src: to.meta.iframe})
}
return store.dispatch(`iframe/${operate}`, iframe)
}
export default router

@ -18,15 +18,15 @@ const mutations = {
}
const actions = {
open({commit}, src) {
open({commit}, {src}) {
commit('show', true)
commit('current', src)
commit('add', src)
},
close({commit}, src) {
close({commit}, {src, del}) {
commit('show', false)
commit('current', '')
commit('del', src)
del && commit('del', src)
}
}

Loading…
Cancel
Save