Javascript Mapbox仅在重新加载页面时显示

Javascript Mapbox仅在重新加载页面时显示,javascript,html,dictionary,reload,mapbox,Javascript,Html,Dictionary,Reload,Mapbox,我有一个奇怪的问题,我无法找到答案: 我已经设置了mapbox,以便它显示在我的网站上。我使用它作为框架,所以其中有一些标记,但它基本上类似于经典的html。以下是我的文件内容: <koken:include file="inc/header.html" /> <koken:head> <meta property="og:site_name" content="{{ site.title }}" /> <

我有一个奇怪的问题,我无法找到答案: 我已经设置了mapbox,以便它显示在我的网站上。我使用它作为框架,所以其中有一些标记,但它基本上类似于经典的html。以下是我的文件内容:

    <koken:include file="inc/header.html" />

    <koken:head>
        <meta property="og:site_name" content="{{ site.title }}" />
        <meta property="og:title" content="{{ content.title|content.filename strip_html="true" }}" />
        <meta property="og:description" content="{{ content.caption strip_html="true" }}" />
        <meta property="og:type" content="website" />
        <meta property="og:image" content="{{ content.presets.medium_large.url }}" />
        <meta property="og:image:width" content="{{ content.presets.medium_large.width }}" />
        <meta property="og:image:height" content="{{ content.presets.medium_large.height }}" />
        <meta property="og:url" content="{{ content.url }}" />
        <koken:content_image>
            <koken:not empty="profile.twitter">
                <meta name="twitter:card" content="photo" />
                <meta name="twitter:site" content="@{{ profile.twitter }}" />
                <meta name="twitter:creator" content="@{{ profile.twitter }}" />
            </koken:not>
        </koken:content_image>

        <meta charset='utf-8' />
        <title>World map</title>
        <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
        <script src='https://api.mapbox.com/mapbox.js/v2.2.4/mapbox.js'></script>
        <link href='https://api.mapbox.com/mapbox.js/v2.2.4/mapbox.css' rel='stylesheet' />
        <style>
          body { margin:0; padding:0; }
          #map-website { position:absolute; top:0; bottom:0; width:100%; height: 960px}
        </style>

    </koken:head>

<body>

<div id='map-website'></div>

    <script>
      L.mapbox.accessToken= 'my_token';
      var map = L.mapbox.map('map-website', 'mapbox.streets');

    </script>

</body>

<koken:include file="inc/footer.html" />

世界地图
正文{margin:0;padding:0;}
#地图网站{位置:绝对;顶部:0;底部:0;宽度:100%;高度:960px}
L.mapbox.accessToken='my_token';
var map=L.mapbox.map('map-website','mapbox.streets');
超级简单,这直接来自mapbox示例。我面临的问题是,当我点击我的网站()。然后点击/map链接,页面无限期加载,什么也不会发生,调试栏告诉我L是未定义的。 但是,如果我在地址栏中单击并按enter键,则会显示地图

我做错了什么?
提前非常感谢…

也许可以尝试添加一些设置视图的内容,如:var map=L.mapbox.map('map-website','mapbox.streets').setView([40,-74.50],9);如果您得到一个L未定义的错误,那么这意味着mapbox.js在到达下面的映射代码之前没有加载。请检查您的框架以确保库正确加载。谢谢您的回答。不幸的是,setView没有改变任何东西。。。我在调试控制台中确实有L是未定义的错误。我想你说的对,mapbox.js没有正确加载。但我不知道这是怎么发生的,因为重新加载页面会正确加载库。我发现的解决方法是通过添加:
code
$(document.ready)(函数(){if(document.URL.indexOf(“#”)=-1){URL=document.URL+“#”location=“#”location.reload()})<代码>代码