Сценарий механика и функциональный объем

Проблема заключалась в том, что я не добавлял «нулевые» значения в StackedColumnsSeries, поэтому все значения были сжаты слева от диаграммы, а метки - неправильными.

foreach (KeyValuePair<string, AgvChartEntry> agv in unsortedAgvCollection)
{
    foreach (string error in errorsDisplay)
    {
         if (agv.Value.Error.ContainsKey(error))
         {
               stackedColumns[agv.Key].Values.Add(agv.Value.Error[error]);
         } 
         else  
         {
               //Must add the zero value it the entry does not exist
               stackedColumns[agv.Key].Values.Add(0); 
         }                     
    }
}
7
задан BuddyJoe 15 February 2009 в 15:20
поделиться

3 ответа

Механик выполняет сценарий в песочнице - страница не имеет доступа к нему из соображений безопасности. Все аскезы к dom и окну через обертки.

Если Вы хотите получить доступ к незащищенным объектам, можно использовать wrappedJSObject свойство.

Для Вашего случая можно использовать unsafeWindow (или window.wrappedJSObject):

unsafeWindow.test = function() { ....

Существуют некоторые проблемы безопасности с этим, видят: http://wiki.greasespot.net/UnsafeWindow

Кроме того, механик выполняет сценарий после DOMContentLoaded (когда dom готов), событие, таким образом, Вам не нужно это onload ерунда.

Кроме того, Вы не можете использовать атрибуты для установки слушателей события или свойств в этом отношении - необходимо использовать dom API для этого. Например:

t.firstChild.addEventListener('click', test, false);

или:

t.firstChild.addEventListener('click', function(event){ blabla }, false);
14
ответ дан 6 December 2019 в 11:53
поделиться

iirc, выполнения механика в своем собственном объеме, таким образом, тест не будет в глобальном пространстве имен.

Вместо того, чтобы загрязнить глобальное, хотя, почему бы не создать Ваш элемент привязки посредством управления DOM? Это возвратит Вас refernece, который можно связать анонимную функцию (или механик определил объем теста).

2
ответ дан 6 December 2019 в 11:53
поделиться

Попытайтесь добавить функциональный тест к объекту окна

window.test = function ...

Править

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

window.addEventListener("load", function(e) {
 // Your main() here
}, false);
1
ответ дан 6 December 2019 в 11:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: