swfobject.js不会在chrome中显示flash(在边缘工作)

时间:2017-10-23 03:58:15

标签: javascript google-chrome flash charts generator

我试图修复这个生成Flash图表的数据分析器脚本,在Edge中运行良好,但在某种程度上通过不显示结果在chrome中出现错误。

(在本地Chrome中运行)

有人可以建议我如何升级或修复此问题吗?

1 个答案:

答案 0 :(得分:0)

要在Chrome中查看Flash内容,您必须执行以下步骤:

1)在您的页面上,单击地址栏中的绿色挂锁图标。

2)转到Flash设置,然后从Ask (default)更改为Allow(以后的所有访问次数)。

3)点击通知弹出窗口中的Reload(或只刷新页面)。

这是因为您没有直接在页面中嵌入任何Flash内容(.swf文件),DataAnalyzer.js稍后会为代码动态添加div SWF代码像这样:

var div = document.createElement('div');
div.id = "Chart" + count; div.className = 'chartCSS'; dest.appendChild(div);

chartType =  _ge('cmbChartType').value;
if(chartType == 'Random') { chartType = (Math.floor(Math.random()*2)) == 0 ? 'pie' : 'bar'; }

if(chartSrc == 'Flash Chart') 
{
window['myChart'+count] = new SWFObject("open-flash-chart.swf", div.id, this.chartHeight, this.chartWidth, "9", "#FFFFFF");
window['myChart'+count].addVariable("variables","true");
window['myChart'+count].addVariable('x_label_style','10,0x0000FF,2');
window['myChart'+count].addVariable("tool_tip", Charts[count].LabelX + ": #x_label#<br>" + (operation != -1 ? Charts[count].LabelY : 'Count') + ": #val#");
window['myChart'+count].addVariable((chartType == 'pie' ? 'pie' : 'bar_glass'), '50,#7E97A6');
window['myChart'+count].addVariable("title",Charts[count].Title + ',{font-size: 16px;}');

// ...etc etc...

}

这种动态嵌入也是恶意网站使用的一种技巧,因此默认情况下会被阻止。如果您有其他最终用户,那么他们也必须在自己的Chrome浏览器中执行这3个步骤。