在iframe引入的頁面中,通過事件觸發的方式進行傳遞參數,其中data是一個標識符的作用,在main.js中通過data進行判斷,params是要傳遞的參數
//iframe向vue傳遞跳轉路由的參數 $('#serverIPanalysis').click(function(){ window.parent.postMessage({ data:"haveparams",params:'aaaaaa' },'*'); })
在vue項目的main.js中,在頁面加載的時候會觸發一次message事件,所以要通過標識符判斷來進行參數的接受,不然直接觸發就會報錯,在事件對象中有事件的信息,其中就包括iframe中的頁面傳遞過來的參數,通過對象結構取出參數,在進行跳轉的設置
//iframe中控制路由的變化
function receiveMessageFromIframePage (event) {
// console.log(event.data,event)
if (event.data.data.includes('haveparams')) { var id = event.data.params router.push({name: 'customerlist1',params:{id}}) } else if (event.data.data.includes('noparams')) { router.push({name: 'customerlist1'}) } } window.addEventListener("message", receiveMessageFromIframePage, false);
