Javascript 我可以强制IE用户安装谷歌Chrome框架插件吗
我正在使用谷歌图表可视化,它在IE8中呈现得不太好,在IE6中根本不起作用 我添加了GoogleChrome框架,如果用户安装了插件,GoogleVisualization将完美工作 有没有办法强迫IE用户安装GFC?现在它是可选的。我阅读了文档,似乎没有办法通过GFCInstall.check()函数调用来配置它 这是我目前的代码:Javascript 我可以强制IE用户安装谷歌Chrome框架插件吗,javascript,internet-explorer,google-chrome-frame,Javascript,Internet Explorer,Google Chrome Frame,我正在使用谷歌图表可视化,它在IE8中呈现得不太好,在IE6中根本不起作用 我添加了GoogleChrome框架,如果用户安装了插件,GoogleVisualization将完美工作 有没有办法强迫IE用户安装GFC?现在它是可选的。我阅读了文档,似乎没有办法通过GFCInstall.check()函数调用来配置它 这是我目前的代码: <!--[if IE]> <script type="text/javascript" src="http://ajax.g
<!--[if IE]>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
<style>
.chromeFrameInstallDefaultStyle {
border: 5px solid blue;
top:55%;
}
</style>
<script>
// The conditional ensures that this code will only execute in IE,
// Therefore we can use the IE-specific attachEvent without worry
window.attachEvent("onload", function() {
CFInstall.check({
mode: "inline"
});
});
</script>
<![endif]-->
否您不能强制用户-您的最佳选择来自: 如何判断用户是否安装了Google Chrome框架 Google Chrome Frame在用户代理标题中添加了一个“chromeframe/X.X.X.X”标记,这样您就可以通过这种方式检查它的存在。如果Google Chrome框架不存在,您可以选择提示或显示回退内容。有关用户代理标头的更多信息,请参阅 我们还提供了一个JavaScript库,您可以使用它来测试是否安装了Google Chrome Frame,如果没有,则提示用户安装它。有关如何使用和自定义JavaScript库的更多详细信息,请参阅
几乎可以肯定,通过功能嗅探来实现这一点会更好。假设获得良好可视化效果所需的功能是
支持,请嗅探该功能,而不是特定的浏览器:
if (!('width' in document.createElement('canvas'))) {
document.write(
'The visualisations on this page don\'t work well in your current browser. '+
'Please upgrade to a modern browser such as IE9, Firefox, Opera, Safari or '+
'Chrome, or install Chrome Frame for earlier IE versions.'
);
}
你不能强迫用户安装任何东西。从某种程度上说,这是非法的-如果你作为一个用户,正在你过时的浏览器上安装兼容层,为什么不更新你的浏览器呢?我知道我不能强迫他们安装,但如果他们不安装,我不能让他们使用该网站…我更希望用户升级那里的浏览器,但这是一场更难打的战争fight@AndreasCarlbom我能想到的一个例子是,一家公司不允许使用其他浏览器。Chrome Frame可以在没有管理员权限的情况下安装,因为它不涉及系统/程序文件。如果未安装Chrome Frame,我可以将Chrome Frame安装菜单配置为始终显示在登录面板的顶部吗。现在,菜单允许用户拒绝安装。如果他们拒绝安装,我不希望他们能够登录到我的应用程序。您可以随时检查用户代理标题,如果
chromeframe/X.X.X
不存在,则隐藏您的登录面板,并显示“这对Chrome框架最有效”消息。它所指的条件是OP希望安装IE特定插件,用于解决IE特定的限制。我认为嗅探功能并不能真正解决这个问题。@jalf:这不是IE特有的限制。在任何不支持相关图形功能(画布或SVG,具体取决于实现方式)的浏览器X上,可视化将失败。解决方案是切换到支持它的浏览器Y。将问题限制在[X=IE8,Y=ChromeFrame]是不必要和不可取的。