$(窗口).on('卸载',...阻止网址更改

时间:2017-09-22 02:36:26

标签: javascript php jquery ajax

我试图在用户尝试更改网址,关闭标签等时执行一项功能。问题是,当用户刷新/点击超链接/更改网址时,网址会更新,但页面保持完全相同。< / p>

最新的Firefox问题尤为严重(之前没有注意到它)。另一方面,铬会在关闭标签之前等待几秒钟,给它一种尴尬,迟钝的感觉。

代码原样:

store = new Vuex.Store({
    state: {
        message: ''
    },
    mutations: {
        updateMessage(state, payload) {
            state.message = payload
        }
    },
    actions: {
        refreshMessage(context) {
            return new Promise((resolve) => {
                this.$http.get('...').then((response) => {
                    context.commit('updateMessage', response.data.message);
                    resolve();
                });
            });
        }
    }
});

Vue.component('my-component', {
    template: '<div>{{ message }}</div>',
    methods: {
        refreshMessage() {
            this.$store.dispatch('refeshMessage').then(() => {
            // do stuff
        });
        }
    },
    computed: {
        message: { return this.$store.state.message; }
    }
});

如果我删除&#34; async:false&#34;问题不再存在。但两个函数都没有执行。该怎么办? 不重定向的页面特别令人讨厌,并且让用户感到困惑。

0 个答案:

没有答案