Я пытаюсь сделать Highcharts в div динамически созданный внутри iFrame.
Часть html:
<div id="fr">Get iframe</div>
<div id="ch9">
<div id="chart3"> chart2</div>
</div>
<p><iframe id="ifr"></iframe></p>
Часть jQuery:
Создайте div внутри iframe:
var iframeContent; $(function () { $("#fr").click(function () { $('#ifr').contents().find('body').html($('#ch9').html()); iframeContent = $('#ifr').contents().find('#ch3'); });
Попробуйте загрузить Highchart в элемент iframeContent (фрагмент кода):
..... chart2= new Highcharts.Chart({ chart: { renderTo:iframeContent, type: 'spline', ......
Но это не работает и выдает ошибку
Object has no method setAttribute
Как я могу это исправить?
благодаря
Вы не можете вызывать скрипт на элементах внутри обернутых элементов iframe. У вас нет доступа к этому элементу.
передать идентификатор
renderTo: 'containerId'
если вы хотите использовать объект, то извлеките его id iframeContent[0]
или извлеките его идентификатор, а затем передайте его на диаграмму.
EDIT: еще один пример.
если вы используете highcharts 3. *, вы можете пойти с $ ("# container"). highcharts ({}); здесь он эквивалентен iframeContent..highcharts({});