I think something goes wrong when getHeight() and getWidth() are called on a normalized Extent. The following code, a modified sample in the ArcGIS API for JavaScript Sandbox, displays an alert box with the values returned from these functions on the map extent-change event. Its seems that while panning around, when the normalized extent includes the int'l dateline these two functions do not return anything.
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">
<title>Home Extent</title>
<link rel="stylesheet" type="text/css" href="http://js.arcgis.com/3.10/js/esri/css/esri.css">
<style>
html, body, #map {
padding:0;
margin:0;
height:100%;
}
#HomeButton {
position: absolute;
top: 95px;
left: 20px;
z-index: 50;
}
</style>
<script src="//js.arcgis.com/3.10/"></script>
<script>
require([
"esri/map",
"esri/dijit/HomeButton",
"dojo/on",
"dojo/domReady!"
], function(
Map, HomeButton,on
) {
var map = new Map("map", {
center: [-56.049, 38.485],
zoom: 3,
basemap: "streets"
});
var home = new HomeButton({
map: map
}, "HomeButton");
home.startup();
on(map,"extent-change", function(a,b,c,d){
var w = map.extent._normalize().getWidth();
var h = map.extent._normalize().getHeight();
alert(w + "," + h);
})
});
</script>
</head>
<body>
<div id="map" class="map">
<div id="HomeButton"></div>
</div>
</body>
</html>