H5監聽Iframe內部點擊實現正常跳轉 問題: 解決方法: 佈局代碼: 監聽代碼

近期開發中,在佈局中使用了IFrame做主頁切換,大概佈局就是底部一個選擇卡,往上就是多個IFrame,點擊選擇卡切換頁面。

問題:

我其中一個頁面是消息列表,點擊後跳轉詳情頁,但是跳轉後由於是IFrame內部處理跳轉,底部選擇卡不會消息。

解決方法:

需要在Iframe的內部點擊事件監聽處理的時候,不讓IFrame的內部跳轉,而是整個主頁面跳轉。
而主頁面是Ifarme的父頁面,可以通過window.parent直接達到效果。

佈局代碼:

<body>
        <nav class="mui-bar mui-bar-tab">
            <a class="mui-tab-item mui-active" href="#message">
                <span class="mui-icon mui-icon-chat">
                    <!--<span class="mui-badge">9</span>-->
                </span>
                <span class="mui-tab-label">消息</span>
            </a>
            <a class="mui-tab-item " href="#work">
                <span class="mui-icon mui-icon-compose"></span>
                <span class="mui-tab-label">工作</span>
            </a>
        </nav>
        <div class="mui-content">
            <div id="message" class="mui-control-content mui-active insidePage" >
                <iframe class="insidePage" src="../../message/html/message.html?messageType=base" ></iframe>
            </div>
            <div id="work" class="mui-control-content insidePage">
                <iframe class="insidePage" src="../../work/workView/html/work_bnaner.html" ></iframe>
            </div>
            
        </div>
    </body>

監聽代碼

this.startPageJump = function(config,isIframe) {
        var extras = "";
        for(var key in config.extras) {
            extras += ("&" + key + "=" + config.extras[key]);
        }
        if(isIframe){
            window.parent.location.href = config.url + "?" + extras;
        }else{
            window.location.href = config.url + "?" + extras;
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章