Highcharts错误#13,Turbolinks多次渲染部分

时间:2013-12-24 19:01:11

标签: javascript ruby-on-rails highcharts turbolinks

使用Highcharts 3.0.7& Turbolinks,我在渲染我的图表时遇到了零星的问题。

我有几十页的图表,仅在某些页面上,我收到了丢失的div(错误13)消息。

首先,我假设这是因为页面是按this SO question异步加载的。我想我错了。

使用以下JS(在erb部分内):

<script>
var ready;
ready = function() {
  if($("#header_chart").length == 1) {
    console.log('Visible')
    lineChart("header_chart", '<%= raw @chart_series %>', "<%= @range %>", "Title");
  }
};
$(document).ready(ready);
$(document).on('page:load', ready);
</script>

我认为放弃if语句会有所帮助,至少是暂时的。但是,我可以看到turbolinks似乎多次渲染部分(或至少是脚本)。即使我点击另一个不应该加载它的链接..

我已经尝试了我能想到的一切:

  • 如果我刷新页面,我会在控制台中看到一次可见。如果我点击链接,我会看到它记录了几次。

  • 如果我点击其他页面上的链接,它没有显示 - 虽然显然是div,但div不在页面上。

  • 尝试删除页面:加载turbolinks部分但没有成功。唯一的相似之处在于我有两个不同的页面,图表呈现为具有相同名称的div。

  • 尝试更改div名称,但没有成功。

  • 将js移动到单独的文件中,或者移出部分文件。

请有人帮我解决这个问题。 我甚至没有成功改变功能的名称。

0 个答案:

没有答案