我的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
最后一行代码应该激活GCF渲染。 然后在我的页面末尾:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
</body>
</html>
这应该运行一个脚本来检查是否安装了GCF(这是有效的)。 我将onload事件附加到我的窗口,该窗口执行包含以下内容的函数:
<body onload="init();" onunload="doLMSFinish();">
function init() {
CFInstall.check({
mode: "overlay", destination: "http://www.waikiki.com"
});
}
此代码还用于检查是否安装了GCF(这也有效)。
有什么想法吗? 我已经安装了GCF,使用了应该激活GCF渲染的正确元标记,并将此元标记放在我页面顶部作为标题块中的第一项。 怎么了?
编辑:我正在本地网页上对此进行测试。这是它不起作用的原因吗? 我正在研究的项目是在本地运行,而不是在服务器端运行。 我已经不得不完全抛弃Chrome支持,因为它只是 NOT 允许我加载本地xml文件(这是项目的核心功能)。
编辑#2:我已经将我的东西上传到FTP以检查它是否可以在线工作,但它仍然没有。 我甚至做了一个小测试页面,它只包含基本的html骨架,初始化chrome框架渲染的元标记,以及一个加载图像的画布。 它只是在加载canvas元素时出错。
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<script type="text/javascript">
canvasSavannah = document.getElementById("savannahStatic");
contextSavannah = canvasSavannah.getContext("2d");
savannah = new Image();
savannah.src = "savannah_static.png";
savannah.onload = function() {
contextSavannah.drawImage(savannah, 0, 0);
};
</script>
</head>
<body>
<canvas id="savannahStatic" width="942" height="645">
</canvas>
</body>
</html>
答案 0 :(得分:2)
查看javascript defer and async on html5
运行测试页后,我注意到js在html呈现之前尝试初始化。将脚本移动到页面底部以使测试页面正常工作。
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
</head>
<body>
<canvas id="savannahStatic" width="942" height="645">
</canvas>
<script type="text/javascript">
canvasSavannah = document.getElementById("savannahStatic");
contextSavannah = canvasSavannah.getContext("2d");
savannah = new Image();
savannah.src = "savannah_static.png";
savannah.onload = function() {
contextSavannah.drawImage(savannah, 0, 0);
};
</script>
</body>
</html>