Почему высота 0?

366
27 января 2017, 08:15

Добрый день! При поиске наибольшей высоты у элементов path в svg почему-то высота равна нулю. Не пойму в чем может быть дело, возможно object не успевает загружаться... Есть идеи почему так?

 <object id="graph" name="graph" type="image/svg+xml" data="data:image/svg+xml;base64,..."></object>
    <script>
      var a = document.getElementById("graph");
      a.addEventListener("load",function() {
        var svgDoc = a.contentDocument;
        var path = svgDoc.getElementsByTagName('path');
        var maxHeight = 0;
        $(path).each(function (i) {
          var rect = path[i].getBoundingClientRect();
          if (rect.height > maxHeight) {
            maxHeight = rect.height;
          }
        });
        $("#graph").height(maxHeight );
        console.log(maxHeight); // 0
      }, false);
    </script>
Answer 1
var maxHeight = 0;
$('#graph').contents().find('path').each(function () {
    var height = $(this)[0].getBoundingClientRect().height;
    if (height > maxHeight) {
       maxHeight = height;
    }
});
$("#graph").height(maxHeight);
console.log(maxHeight);

Это работает в FireFox, но, т.к. тег object создает вложенный документ из base64, Chrome ругается на origin.

В случае с inline svg все будет работать отлично.

READ ALSO
Ошибка undefined is not an object (evaluating) в скрипте коллажа

Ошибка undefined is not an object (evaluating) в скрипте коллажа

Прошу помочь разобраться в ошибке, которая возникает при работе скрипта фото коллажа, описанного на хабре (https://habrahabrru/sandbox/78613/)

378
Возведение числа в степень и получение младшего разряда

Возведение числа в степень и получение младшего разряда

Функция возвращает последнюю цифру числа, но если число слишком большое то infinity, как обработать число чтобы не возвращалось infinity?

397
Вывод меток определенного цвета в Google Maps при выборе их в меню

Вывод меток определенного цвета в Google Maps при выборе их в меню

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

328
Как изменить правильно .click на .on? [дубликат]

Как изменить правильно .click на .on? [дубликат]

На данный вопрос уже ответили:

385