【问题标题】:Highcharts export : button is missing when website on IIS serverHighcharts 导出:IIS 服务器上的网站时缺少按钮
【发布时间】:2013-10-29 17:21:05
【问题描述】:

我在使用 Highcharts 的导出功能时遇到问题。 我在 Visual Studio 下开发,使用 ASP.NET。 我正在使用 Highcharts V3,引用以下文件:

  • highcharts.js
  • highcharts-more.js
  • exporting.js

当我测试从 Visual Studio(本地服务器)启动的 Web 项目时,一切正常。

然后我将我的网站上传到服务器(Windows 7 服务器上的 IIS 7.5)。 当我从那里的 URL 打开网站时,导出上下文按钮根本不会显示在图表的右上角。没有错误,只是图表画布中没有定义按钮。

有人可以帮我吗?

谢谢。

【问题讨论】:

  • 您收到任何错误吗?因为好像exporting.js没有加载
  • 没有错误,只是好像exporting.js没有加载一样。但是我的开发环境和服务器上的代码是相同的,因此我认为这是一个 IIS 问题......
  • 所以请检查需要加载的exporting.js的路径。

标签: asp.net highcharts export iis-7.5


【解决方案1】:

我在使用 DotNet.HighChart Lib for Asp.net MVC 时遇到了类似的问题。 当我在 VS2012 和 IIS Express 上工作时,一切都很好,但是当我将它部署到我的 PC 上的本地 IIS 或运行 IIS 7 的外部服务器上时,没有显示任何图表(只是一个空白页),我检查了源代码,似乎生成了脚本,但不包括两个 js 文件 [Highcharts,Exporting] 之一,这是 Bundle 的问题,它在服务器上有不同的行为,我不明白,我所做的一切都是为了解决我的问题忽略了Bundle并直接包含js文件。

我转换了:

@Scripts.Render("~/bundles/highcharts")

@Scripts.Render("~/Scripts/highcharts/highcharts.exporting-1.0.0.js")
@Scripts.Render("~/Scripts/highcharts/highcharts.min-1.0.0.js")

它成功了。

只是为了获得更多信息,我的 Bundle 是这样定义的:

bundles.Add(new ScriptBundle("~/bundles/highcharts").Include(
    "~/Scripts/highcharts/highcharts.exporting-1.0.0.js",
    "~/Scripts/highcharts/highcharts.min-1.0.0.js"
));

编辑:我想我知道发生了什么事。 Highcharts.js 不是独立的,我的意思是它使用物理上位于它旁边的其他 js 文件。 Bundle 在开发时间和部署时间上有不同的 url。为了便于开发,它生成了 PHYSICAL urls 和 js 文件的物理内部链接然后工作。但是在服务器上,所有捆绑包都映射到与其物理位置无关的虚拟路径,因此这会导致这些文件中的相对物理路径在服务器上被错误地寻址,并且您会收到 404 异常。

希望对你有帮助

【讨论】:

  • TinyMCE 也会因为同样的原因遇到同样的问题;)[如果你曾经使用过它]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-02
  • 1970-01-01
  • 1970-01-01
  • 2016-04-18
相关资源
最近更新 更多