朝阳
朝阳
  • 发布:2017-01-10 17:39
  • 更新:2017-01-11 15:39
  • 阅读:1963

webview页面DOMContentloaded不执行

分类:HTML5+

一个地图页面,完全参照demo做的,本身并没有什么问题,但作为webview的子页面时,就不会显示,据我调试,DOMContentloaded不会执行,请问怎么解决?

<!DOCTYPE html>  
<html>  

    <head>  
        <meta charset="utf-8">  
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />  
        <title>map-main</title>  

        <link href="../../css/mui.css" rel="stylesheet" />  
        <style type="text/css">  
            #map {  
                width: 100%;  
                position: fixed;  
                top: 0px;  
                bottom: 0px;  
                text-align: center;  
                background: #FFFFFF;  
            }  

            #outSlide {  
                overflow: auto;  
            }  
        </style>  
    </head>  

    <body>  
        <div class="mui-content">  
            <div class="mui-row">  
                <div class="mui-col-sm-4 mui-col-xs-4">  
                    <div id="outSlide" class="mui-scroll-wrapper">  
                        <div class="mui-scroll">  
                            <ul id="atmlist" class="mui-table-view mui-table-view-chevron">  
                            </ul>  
                        </div>  
                    </div>  
                </div>  

                <div class="mui-col-sm-8 mui-col-xs-8">  
                    <div id="map">地图加载中...</div>  
                </div>  
            </div>  
        </div>  

        <script src="../../js/mui.js"></script>  
        <script type="text/javascript" src="../../js/jquery-1.10.2.min.js"></script>  
        <script type="text/javascript">  
            mui.init({  
                swipeBack: false  
            });  
            var em = null,  
                map = null;  

            function plusReady() {  
                if(!em || !window.plus || map) {  
                    return  
                };  
//              $('#outSlide').css('height', plus.screen.resolutionHeight - 96 - 20);  
                $('#outSlide').css('height', 640 - 96 - 20);  

                map = new plus.maps.Map("map");  
                map.getUserLocation(function(state, point) {  
                    if(0 == state) {  
                        map.centerAndZoom(point, 16);  
                        map.showUserLocation(true);  
                    } else {  
                        alert("获取定位权限失败,请授权!");  
                        map.centerAndZoom(new plus.maps.Point(116.3977, 39.906016), 12);  
                    }  
                });  
            }  

            if(window.plus) {  
                plusReady();  
            } else {  
                document.addEventListener("plusready", plusReady, false);  
            }  
            // DOMContentloaded事件处理,这个事件不会执行  
            document.addEventListener("DOMContentLoaded", function() {  
                em = document.getElementById("map");  
                plusReady();  
            }, false);  

        </script>  
    </body>  

</html>
2017-01-10 17:39 负责人:无 分享
已邀请:
朝阳

朝阳 (作者)

@DCloud_heavensoft @DCloud_Android_磊子

Trust

Trust - 少说废话

直接在最前面alert或consle.log,或者在chrome控制台看一下该页面是否正常加载。

  • 朝阳 (作者)

    见楼下

    2017-01-11 15:40

朝阳

朝阳 (作者)

如图,在Chrome调试里。
红色标注的console.log可以显示出来,但断点未触发,界面也无法显示。
蓝色标注的断点均未触发,alert也未显示。
点击左上角的刷新,断点可触发,console.log正常,界面正常显示,alert未触发。

  • Trust

    window.plus,看plus是否注入成功。

    2017-01-11 15:46

  • 朝阳 (作者)

    请问怎么看?

    2017-01-11 15:56

该问题目前已经被锁定, 无法添加新回复