hi all,
I have found this workaround in the meantime, I hope it works for you too.
add it to the event onZoomEnd of your map.function onZoomEnd() { if (navigator.appName == 'Microsoft Internet Explorer') { timer = setTimeout(function () { var imgs = dojo.query('.esriLegendLayer > tbody > tr > td > img'); for(var i=0; i<imgs.length; i++){ imgs.src = "yourproxy" + imgs.src; } }, 100); } }
Hi, can you please explain more? the dojo.query part
...and then setting the image source path again.
Find the relevant images using dojo.query.
Once found, modify their paths to include the proxy URL.
HTH
Hi, can you please explain more? the dojo.query part and then setting the image source path again. Is it because the image path might be losing that token information and need to be reappended?
Great, that works!
Hello,
I am having a similar issue. I am using the Javascript API and calling an ArcGIS map service in a Javascript/HTML application. The application is accessed via IE 11 and is in a locked down environment requiring everything over SSL.
All of the Javascript API libraries I call are https, the application is https, and the map services are https. When the map service is called, it fails due to the following network error:
SEC7111: HTTPS security is compromised by http://utility.arcgis.com/sharing/tools/legend?soapUrl=...
I have discovered that this is the way services published via an ArcGIS Server lower than v. 10 calls the legend service.
If I am unable to upgrade the GIS Server to 10, require accessing the application via IE, and must have everything in SSL, what are my options for working around this issue? As as note, I do not actually need to call the legend service for my application.
Thanks for the help!
Sara
I got the same issue using ArcGIS server 10 SP2 Standard Java Edition. I resolved using the below code:
//add the legend
var legendDijit = new EsriLegend({
map: this.map
}, "legendDiv");
//issues with ArcGIS server 10 SP2 Standard Java Edition
if (window.location.protocol == 'https:') {
legendDijit._legendUrl = legendDijit._legendUrl.replace('http:', 'https:');
}