FusionCharts +原型 Modalbox + Google Chrome = 浏览器查看错误

发布于 2024-10-21 01:29:34 字数 237 浏览 3 评论 0原文

我希望有人可以帮助阐明导致您在此处看到的错误的根本问题:

在此处输入图像描述

正如您所看到的,当打开 FusionChart 时,FusionChart 不正确地覆盖在 Modalbox 的顶部。此问题仅出现在 Google Chrome 中。其他浏览器都没问题。

关于这里的根本问题有什么想法吗?可以做什么?

I am hoping that someone can help shed some light on the underlying issue causing the bug that you see here:

enter image description here

As you can see, the FusionChart is incorrecly overlaying on top of the Modalbox when the it is opened. This issue only occurs in Google Chrome. All other browsers are ok.

Any ideas on the underlying issue here? And what can be done?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鸵鸟症 2024-10-28 01:29:34

上次我在 Flash 上覆盖了一个 div(这里发生了什么),我可以让它在除 Linux 之外的所有平台上工作。您使用的是 Linux 发行版吗?如果不是,解决方案通常是将 wmode="transparent" 添加到嵌入中。

否则,唯一的解决方案是设置 .style.display="none";每当显示 Modalbox 且 .style.display="" 时,都会在 FusionChart 上显示;当模态框关闭时。

Last time I messed with overlaying a div on top of Flash (What is going on here) I could get it to work on all platforms except Linux. Are you using a Linux distribution? If not the solution is usually to add wmode="transparent" to the embed.

Otherwise, the only solution is to set .style.display="none"; on the FusionChart whenever the Modalbox is shown and .style.display=""; when the Modalbox is closed.

草莓酥 2024-10-28 01:29:34

当 Flash 对象出现在所有其他 HTML 元素之上时,很可能是因为 Flash 影片的窗口模式 (wMode) 参数设置为“窗口”。

在 FusionCharts 中,可以通过两种方式设置 wMode:

A.使用 .setTransparent() JavaScript 函数

setTransparent(false) 将窗口模式更改为“不透明”,从而解决了 FusionCharts 出现在模态窗口顶部的问题和灯箱。

setTransparent(true) 也有同样的目的。它将 wMode 设置为“透明”。 (wMode 的任何值,除了“window”之外都可以。)

示例 JavaScript:

var myChart = new FusionCharts( "FusionCharts/Column3D.swf", 
      "myChartId", "400", "300", "0", "1" );
  myChart.setXMLUrl("Data.xml");
  myChart.setTransparent(false); // set wMode to opaque
  myChart.render("chartContainer");

从 FusionCharts 3.2 开始,设置 setTransparent(null) 将 wMode 恢复为“window”,您不希望这样做你的情况! :)

B.在构造 new FusionCharts 期间使用 wMode 属性

另外,由于 FusionCharts 3.2 引入了对象式构造方法,因此可以在执行 new FusionCharts(...) 时提供 wMode 的值code> 本身,通过提供 wMode: 'opaque'

When Flash objects appear on top of every other HTML elements, it is most likely because the window mode (wMode) parameter of the Flash movie is set to "window".

In FusionCharts, one can set wMode in two ways:

A. Using .setTransparent() JavaScript function

setTransparent(false) changes the window mode to "opaque" and that solves the issue of FusionCharts appearing on top of modal windows and lightboxes.

setTransparent(true) also serves the same purpose. It sets wMode to "transparent". (Any value for wMode, except "window" would do the trick.)

Example JavaScript:

var myChart = new FusionCharts( "FusionCharts/Column3D.swf", 
      "myChartId", "400", "300", "0", "1" );
  myChart.setXMLUrl("Data.xml");
  myChart.setTransparent(false); // set wMode to opaque
  myChart.render("chartContainer");

Since FusionCharts 3.2, setting setTransparent(null) restores wMode to "window" and you would NOT want to do that for your case! :)

B. Using wMode property during new FusionCharts construction

Also since FusionCharts 3.2 introduced object-style construction method, the value of wMode can be provided while doing new FusionCharts(...) itself by providing wMode: 'opaque'

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文