为什么我的 js 脚本在发布到 Azure 时 运行 多次

Why does my js script run multiple times when published to Azure

我有一个站点在主页上显示 SVG 图像,该图像是使用 d3.js 在 js 中绘制的。

当我预览网站时,图像看起来很好,并且可以像我期望的那样在多个浏览器中进行交互。

然而,一旦将它发布到 Azure 并在相同的浏览器上查看,svg 图像将被重复 2 次以上,因此该图像在主页上直接出现 3 次。

在 html 中,绘图是通过简单的脚本调用创建的。

能否在 azure 中托管的站点上显示 SVG 图像。

您需要添加 mime 类型,以便 Azure 告诉客户端在获取文件时如何处理这些文件。

如果您将此添加到您的 web.config,它应该可以工作...

<configuration>
   <system.webServer>
      <staticContent>
         <remove fileExtension=".svg"/>
         <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
      </staticContent>
   </system.webServer>
</configuration>

感谢大家的帮助,实际上是我的天真导致了问题,调用脚本的方式是 运行 d3 绘图代码,然后在脚本中我的同事写的它也在函数之后调用脚本。

只需从脚本中删除所有调用,然后在加载它的脚本标签下方的脚本标签中调用 startDrawing() 函数,这意味着它只绘制一次。