日期:2014-05-17  浏览次数:20577 次

关于asp.net母板页中javascript执行顺序的问题
问题描述:
    母板页+内容页
内容中引用jsp文件,里面有俩函数 init(),random()
在内容页中调用函数的时候发现init()必须放在html之后,所以就把
<script>
if(.....){init()}
</script>
放在了母板页</html>之后(if里面的条件是检测哪个内容页调用的,不是当前内容页的话就不加载)
然后页面执行完毕
到这里都没有问题,再次在内容页调用init()或者random()都会提示错误,大致意思就是缺少jsp对象
我都不知道问题到底处在里哪里?


母板页的部分代码

.......
</body>
<script type="text/javascript">
    if (document.getElementById("container")) { init0() }        
</script>

</html>

子页面中部分代码:


<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.5&ak=29a35e4e6ba9f5f-------d309ac562"></script>
<script type="text/javascript" src="Scripts/ditu.js"></script>
<title>添加复杂内容的信息窗口</title>

</asp:Content>


ditu.js
function init0() {

    var map = new BMap.Map("container");            // 创建Map实例
    var point = new BMap.Point(120.322945, 37.681078);    // 创建点坐标
    addMarker(point);
    map.centerAndZoom(point, 16); // 初始化地图,设置中心点坐标和地图级别。
    var marker = new BMap.Marker(point);
    marker.addEventListener("click", function () { map.openInfoWindow(infoWindow, point); });

    map.enableScrollWheelZoom();    //启用滚轮放大缩小,默认禁用
    map.enableContinuousZoom();    //启用地图惯性拖拽,默认禁用
    map.addControl(new BMap.NavigationControl());  //添加默认缩放平移控件
    map.addControl(new BMap.MapTypeControl({ mapTypes: [BMAP_NORMAL_MAP, BMAP_HYBRID_MAP] }));     //2D图,卫星图

    // 编写自定义函数,创建标注
    function addMarker(point) {
        var marker = new BMap.Marker(point);
        map.addOverlay(marker);
    }
    var opts = {