2015-02-05 2 views
1

У меня есть SVG-карта, которая не привязана к HTML с помощью тега 'object'. Затем я пытаюсь использовать jQuery для доступа к элементам карты. (В частности, я пытаюсь заполнить прямоугольник красного цвета.)Невозможно прочитать свойство 'contentDocument' of null

HTML:

<object data="map.svg" type="image/svg+xml" id="map" width="1840" height="940"></object> 

JQuery:

jQuery(window).load(function() { 
     var svgobject = document.getElementById('map'); 
     if ('contentDocument' in svgobject) { 
      var svgdom = jQuery(svgobject.contentDocument); 
      jQuery("#rect4578", svgdom).attr("fill", "red"); 
     } 
    }); 

В хроме я получаю сообщение об ошибке: Не удается прочитать свойство 'contentDocument' в нуль (анонимная функция) n.event.duspatch n.event.add.r.handle

в чем проблема?

спасибо.

ответ

2

Вы получаете эту ошибку только в хроме? Debug код и посмотреть на эту строку в коде

var svgobject = document.getElementById('map') 

Что вы получаете взамен здесь? Является ли svgobject null? Потому что ваш идентификатор не является «карта» своего «сервера IMAP»

+0

Да это было «IMAP» я не был так внимателен. Однако теперь я получил следующее сообщение: ** Uncaught Security error: Не удалось прочитать свойство contentDocumant из «HTMLObjectElement»: заблокировал кадр с исходным «нулем» от доступа к кадру с исходным «нулем». Протоколы, домены и порты должны совпадать **. – plywoods

+0

Об этом я нашел здесь (в комментариях) - http://benfrain.com/selecting-svg-inside-tags-with-javascript/. Однако мой html и svg aer хранятся локально на моем ПК. И не совсем понятно, что мне нужно сделать, чтобы он работал. – plywoods

+1

Попробуйте искать в stackoverflow о вашей проблеме или, возможно, эти ссылки помогут вам [link] (http://stackoverflow.com/questions/25098021/securityerror-blocked-a-frame-with-origin-from-accessing -a-cross-origin-frame) [ссылка] (http://stackoverflow.com/questions/17950598/using-iframe-with-local-files-in-chrome) – Pumpkin

0

id является imap не map для getElement ....

Смежные вопросы