修复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) { addTags(to = this.$route) {
return to.meta.title ? this.$store.dispatch('tagsView/addView', to) : Promise.resolve() return to.meta.title ? this.$store.dispatch('tagsView/addView', to) : Promise.resolve()
}, },

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

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

Loading…
Cancel
Save