«Отказано в доступе к свойству 'href' из нехромного контекста" в JavaScript и OpenLayers - PullRequest
0 голосов
/ 20 мая 2010

Это действительно два вопроса, один из которых ведет к другому. Во-первых, что на самом деле означает «Отказано в доступе к свойству« href »из нехромного контекста»

Во-вторых, я использую оверлеи в OpenLayers и хочу изменить непрозрачность указанных слоев, именно здесь выдается эта ошибка, код которой здесь ...

<input id='opacity' value="1.0" onChange="changeOpacity()">

Из которых changeOpacity () является следующей функцией ...

function changeOpacity() {
var newOpacity = parseFloat(OpenLayers.Util.getElement('opacity').value);
newOpacity = Math.min(1.0, Math.max(0.1, newOpacity));
OpenLayers.Util.getElement('opacity').value = newOpacity;
for (var i=0; i<images.length; i++) {
layers[images[i]].setOpacity(newOpacity);
}
}

, который выдает ошибку в "var href = originalElement.href;" здесь ...

function mD(e) {
//what is originalElement/srcElement/originalTarget?

var originalElement = e.srcElement || e.originalTarget;

 var href = originalElement.href;

  if (originalElement.nodeName == "A" && href.match("http://www.openstreetmap.org/browse/")) {

    href = href.replace('http://www.openstreetmap.org/browse/','http://www.openstreetmap.org/api/0.6/');

if (gml) { map.removeLayer(gml); } //$("status").innerHTML = 'loading'; }

gml = new OpenLayers.Layer.GML("OSM", href, {format: OpenLayers.Format.OSM});
map.addLayer(gml);
gml.preFeatureInsert = style_osm_feature; 
var sf = new OpenLayers.Control.SelectFeature(gml, {'onSelect': on_feature_hover});
map.addControl(sf);
sf.activate();
return false;

   }
} 

Любая помощь / идеи приветствуются! Я использую Firefox 3.5.9 и Firebug 1.5.4

1 Ответ

1 голос
/ 26 мая 2010

Я заметил, что ошибки «Permission denied ..» часто появляются, только когда активирован FireBug. Если вы отключите FireBug, эти ошибки никогда не произойдут.

Для прозрачности слоя рассмотрите возможность использования инфраструктуры GeoExtJS поверх OpenLayers. Имеет виджет слайдера непрозрачности:

http://www.geoext.org/lib/GeoExt/widgets/LayerOpacitySlider.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...