0

我正在使用这个很棒的项目bootstrap-map-js

使用 ArcGIS 和 Bootstrap 构建响应式地图应用程序的简单框架。

由于 Esri ArcGIS JavaScript API 声明它们支持 IE7+,我认为这个惊人的bootstrap-map-js项目也将兼容IE 7. 也许是这样,问题出在我的代码中......

在文档模式下模拟页面时,我收到一个Invalid Argument错误,控制台窗口上没有更多信息。以后效果很好。所有其他浏览器也很好用!:) 只有挑剔的 IE 拒绝像往常一样工作......IE 11 Developer ToolsIE 7/8IE 9

在此处输入图像描述

好像dojo.require在某处吠叫。请参阅此相关问题:Dojo nested requires on IE7 and IE8 导致 Invalid Argument Exception

如果我删除对的引用bootstrapmap.jsvar map = ...声明,那么代码就可以工作,hey Leniel!否则我会看到代码中断,我会看到Invalid argument. 代码在对 的调用中中断BootstrapMap.create

任何人都可以对挑剔 IE的情况有所了解吗?我能做些什么来从错误中看到更多信息吗?正如您在图片中看到的,没有消息、描述等。:(

这是我必须组装的最少代码,以了解导致错误的原因:

<!-- ArcGIS JavaScript API v3.8 -->
<script type="text/javascript" src="http://localhost/arcgis_js_api/library/3.8/3.8/init.js"></script>

<script type="text/javascript">

function init()
{
    require([
        "esri/map",
        "/myproject/Scripts/bootstrapmap.js",
        "esri/layers/FeatureLayer"
    ], function(
        Map,
        BootstrapMap,
        FeatureLayer
    )
    {

        // Get a reference to the ArcGIS Map class
        var map = BootstrapMap.create("mapDiv", {
            basemap: "oceans",
            center: [-117.789, 33.543],
            zoom: 12
        });

        alert('hey Leniel!');

    });
}

dojo.addOnLoad(init);

</script>

我在这个问题上取得了一些进展,你可以在这里阅读。

我阅读了使用 dojoConfig 配置 Dojo,然后在ArcGIS JS API脚本标记之前添加了这个:

<!-- set Dojo configuration, load Dojo -->
<script>
    dojoConfig = {
        has: {
            "dojo-firebug": true
        },
        parseOnLoad: true,
        async: true
    };
</script>

现在我得到了一个更具描述性的错误,而不是Invalid argument像以前那样。IE Dev Tools显示了这一点:

SCRIPT87: Invalid argument.
File: init.js, Line: 136, Column: 65

当我点击以下提供的链接时,136这是一行:init.jsIE Dev Tools

b;b=d[b]?"cssFloat"in f.style?"cssFloat":"styleFloat":b;if(3==k)return q?g(f,e):f.style[b]=e;for(var r in b)l.set(a,r,b[r]);return l.getComputedStyle(f)};return l})},"dojo/dom-geometry":function(){define(["./sniff","./_base/window","./dom","./dom-style"],function(b,n,k,m){function l(a,b,d,c,h,f){f=f||"px";a=a.style;isNaN(b)||(a.left=b+f);isNaN(d)||(a.top=d+f);0<=c&&(a.width=c+f);0<=h&&(a.height=h+f)}function r(a){return"button"==a.tagName.toLowerCase()||"input"==a.tagName.toLowerCase()&&"button"==

在此处输入图像描述

听起来像是IE 7/8在咆哮着一些疯狂CSS的操纵ArcGIS JS API

4

1 回答 1

0

修复了它连接点...

搜索NaNpxe 的值,因为我以前从未见过。找到这张jQuery 票

听从那里给出的建议并改变它return136

从:

return q?g(f,e):f.style[b]=e;

至:

return q?g(f,e):f.style[b]=(e=='NaNpx'?'0px':e);

注意:我使用jQuery 1.11.0的是支持 IE 7的。

于 2014-03-18T23:41:30.093 回答