2017-01-01 39 views
3

我做地图的一个非常标准装载,如:Bing地图V8没有自动加载IE11

map = new Microsoft.Maps.Map(document.getElementById('map_canvas')); 

在Chrome中它工作正常,但在IE11,我得到的地图代码的异常:

0x800a01b6 - JavaScript的运行时错误:对象不支持属性或方法 'matchMedia'

Bing地图代码内的行是:

return window.matchMedia("(-ms-high-contrast:active)").matches 

窗口变量是定义的,但如果我检查它matchMedia是未定义的。

整个堆栈跟踪是:

Unhandled exception at line 1, column 9149 in https://www.bing.com/rms/MapCoreBundle/jc,nj/81a88ae6/9adb7eaf.js?bu=rms+answers+MapsSDK+AnonymousBegin*MapCore.en*MapCoreBegin*LabelOptions*LocalStorageCache*Gimme*GimmeWrapper*evPromise*ExternalPromise*StaticPromise*CookiesHelper*LruCache*Point*Rectangle*NAARectangle*ResourceManager*Units*Anchor*Size*Binding*ChangeMagnitude*EventBinding*Observable*ObservableObject*ObservableObjectChangedArgs*ObservableCollection*Debug*DelayLoadedObject*JSEvent*Dispatcher*WorkDispatcher*Iterator*ElementSizeHelper*GimmeExt*GimmeTransition*Helper*PerfState*ClientPerf*LoggingWrapper*LoggerConstants*Network*ThrottledEventInvoker*ObjectPool*StaticObjectPool*FixedSizeObjectPool*OrderedDictionary*PooledImage*Url*MapCoreMiddle*AltitudeReference*TransformCurve*GraphType*CurveKey*Curve*Color*CurveVector4*CurveColor*Vector4*CurveTangent*DiscreteRange*DiscreteRangeCollectionSpline*MapLayer*AutoScaling*PointLabelPlacementPreference*PolygonFillPreference*VerticalAlignment*CopyrightProvider*CopyrightProviderService*EntityState*MinZoomFraming*GeometryType*HitTestability*HorizontalAlignment*MapModeType*ViewChangeCause*MapFrameManager*LayerFrameManager*GoalCounter*FrameEventAggregator*DataMonitor*MapFrameData*LayerFrameData*Clipper*CompositePrimitiveSet*DataLoader*Differ*FixedPrimitiveSet*PrimitiveSubset*Overlay*OverlayAlignment*ImageryMapLayer*SimpleSceneContributor*VectorMapLayer*BasicMapAnimation*MapViewAnimator*BoundsAccumulator*CombinedLayerCollection*ConstrainViewArgs*LatLonCrs*LocationRect*Matrix2D*MapInstrumentationManager*Map*MapHelper*MapMath*MapLocation*MapType*MapTypeChangeArgs*MapTypeCollection*MapTypeId*MapView*MapEventForPrimitiveOverlay*MapQuadrant*PrimitiveOverlayHelper*OverlayBehavior*GeometryGeneralizer*SimplePointPrimitive*SimpleLinePrimitive*SimpleAreaPrimitive*MoveableSimplePointPrimitive*TargetViewChangeArgs*VectorMath*ViewChangeArgs*ZoomLevel*ZoomAroundLocationAnimator*ZoomEventArgs*OverviewMapMode*MapAuthentication*PublicApi*InternalApi*AnonymousEnd 

0x800a01b6 - JavaScript runtime error: Object doesn't support property or method 'matchMedia' 

感谢您的帮助!

回答

4

Internet Explorer 11 should support matchMedia。因此,最可能的原因是正在解析文档non full standard mode。可能是因为您没有在HTML顶部指定文档类型,例如:

<!DOCTYPE html> 

作为最上面的HTML行。

另一种可能性是您声明浏览器应该使用兼容模式,例如使用http-equiv="X-UA-Compatible"元标记。如果此标签存在,请尝试删除它。如果它不存在,请尝试添加

<meta http-equiv="X-UA-Compatible" content="IE=Edge"> 

确保IE正在使用它可以使用的最新模式。 Read more here.

+0

你钉了它!我的asp.net母版页有:

+0

@MikeWitt乐意帮忙。有一个不错的2017年! –