0

我正在尝试在 iFrame 中动态创建的 div 中呈现 Highcharts。

html部分:

<div id="fr">Get iframe</div>
<div id="ch9">
<div id="chart3"> chart2</div>
</div>
<p><iframe id="ifr"></iframe></p>

jQuery部分:

  1. 在 iframe 中创建一个 div:

    变量 iframe 内容;
     $(函数(){
             $("#fr").click(function () {
                 $('#ifr').contents().find('body').html($('#ch9').html());
                 iframeContent = $('#ifr').contents().find('#ch3');
             });
    
  2. 尝试将 Highchart 加载到 iframeContent 元素(代码片段)中:

    ......
    chart2=新的Highcharts.Chart({
            图表: {
        渲染到:iframeContent,
                类型:'样条',
    ……
    

但它不起作用并引发错误

Object has no method setAttribute

我怎样才能解决这个问题?

谢谢

4

2 回答 2

0

您不能通过 iframe 对包裹元素内的元素调用脚本。您无权访问此元素。

于 2013-11-12T14:28:08.760 回答
-1

将 id 传递给

renderTo : 'containerId'

如果你想使用一个对象,然后提取它的 idiframeContent[0]或提取它的 id 然后将它传递给图表。

编辑:另一个例子。

如果您使用的是 highcharts 3.*,您可以使用 $("#container").highcharts({}); 这里相当于 iframeContent..highcharts({});

于 2013-11-11T08:54:53.957 回答