highcharts 时间少8小时问题

Highcharts 中默认开启了UTC(世界标准时间),由于中国所在时区为+8,所以经过 Highcharts 的处理后会减去8个小时。
如果不想使用 UTC,有2种方法可供使用:
1、在使用Highcharts的页面中添加如下代码:
[html] view plain copy 在CODE上查看代码片派生到我的代码片

2、在Highcharts源文件中进行设置,Highcharts/js/highcharts.src.js 中找到如下代码:
[html] view plain copy 在CODE上查看代码片派生到我的代码片
global: {
useUTC: true,
canvasToolsURL: ‘http://code.highcharts.com/3.0.1/modules/canvas-tools.js’,
VMLRadialGradientURL: ‘http://code.highcharts.com/3.0.1/gfx/vml-radial-gradient.png’
},
将其中的 useUTC: true 更改成 useUTC: false,保存。刷新页面即可。
文章出处:http://blog.csdn.net/zhaizu/article/details/17169827

Chrome Frame的特殊处理(IE+CF)

通过meta段的设置可以控制浏览器的渲染行为,但在一些特殊情况下,meta段的设置无效,我们需要额外的操作以达到目的。

模式1:页面A(IE)iFrame引用页面B(Chrome Frame)

问题描述
在IE渲染的页面A中,使用iframe引用的页面B即使添加了meta信息也不会使用Chrome Frame渲染。
解决方法
CFInstance.js(见文档附件)同样是由Google提供的开源源代码,帮助我们更灵活的使用Chrome Frame。在页面A中引入CFInstance.js,页面加载完毕后调用new CFInstance()。其返回一个内部使用Chrome Frame渲染的Object对象。最后将该对象添加至A页面目标位置(删除原iframe,不再需要)。示例代码如下:

function onload() {
if (CFInstance && CFInstance.isAvailable()) { //判断CFInstance是否可用
var gcf = new CFInstance({
src : url, //页面B的url地址
className : “chrome-frame” //通过该className可以控制返回对象的css
});
document.body.appendChild(gcf); //添加至页面指定位置
}
else {
open(url, “_self”); //CFInstance不可用时执行的动作
}
};

模式2:页面A(Chrome Frame)iFrame引用页面B(IE)

问题描述
在Chrome Frame渲染的页面A中,使用iframe引用的页面B(无论是否添加了meta段)也将使用Chrome Frame渲染。
解决方法
调整页面结构,增加框架页C(使用IE渲染)。将页面A、B分别使用new CFInstance和iframe方式引入并布局在框架页C中,页面结构如下:

模式3:页面A(Chrome Frame)Open页面B(IE)

问题描述
在Chrome Frame渲染的页面A中,调用window.open打开的页面B(无论是否添加了meta段)也将使用Chrome Frame渲染。
解决方法
调整页面结构,增加框架页C(使用IE渲染)。通过new CFInstance方式将页面A引入框架页C,在页面A中调用框架页C的open方法打开页面B。这时页面B将使用IE渲染。页面结构如下:

在页面A中调用框架页C的open方法时,不能简单的通过window.parent.open方式实现,需要借助CFInstance的rpc实现跨浏览器通讯。示例代码如下:

//框架页C代码示例
function onload() {
if (CFInstance && CFInstance.isAvailable()) {
var gcf = new CFInstance({
src : url,
className : “chrome-frame”
});
gcf.rpc.expose(“showIEDialog”, showIEDialog); //注册页面A中可调用的方法
document.body.appendChild(gcf);
} else {
open(url, “_self”);
}
};function showIEDialog(url, name, options) {
window.open(url, name, options);
}
//页面A代码示例
if (CFInstance && !dorado.Browser.msie) { //判断当前为非IE浏览器且CFInstance可用
if (CFInstance.rpc) { //判断当前页面是否通过new CFInstance方式打开
//调用框架页C中暴露的方法showIEDialog,第二个参数为传递的参数
CFInstance.rpc.callRemote(“showIEDialog”, [ url, name, options ]);
CFInstance.rpc.init();
} else { //当前页面非new CFInstance方式打开,例如直接使用Chrome浏览器打开了框架页C
alert(“目标地址需要IE浏览器”);
}
} else { //当前浏览器为IE且Chrome Frame不可用,页面A为IE渲染
open(url, name, options);
}

 

模式4:页面A(Chrome Frame)使用 ActiveX

问题描述
如何在Chrome Frame渲染的页面中使用ActiveX。
解决方法
不推荐在Chrome Frame渲染的页面中使用ActiveX,需要确保使用ActiveX控件的页面由IE渲染。
存疑的备选解决方法
ActiveX for Chrome是一款专门为Chrome浏览器开发的扩展程序,其目的是为了在Chrome浏览器中可以直接使用ActiveX控件。但该项目已经很长一段时间没有更新。在本次项目中,经过实际测试,其并不能很好的为所有ActiveX控件提供支持。因此,如果使用ActiveX for Chrome,一定要进行全功能覆盖测试。
项目地址:http://code.google.com/p/np-activex/

参考资料:http://wiki.bsdn.org/pages/viewpage.action?pageId=50070010

js下载:CFInstall.js    CFInstance.js

IE浏览器重置后,google chrome frame无法正常使用

控制面板–添加或删除程序–删除google chrome frame程序–重启电脑(必须重启)–重新安装google chrome frame

如果重新安装成功了,IE还是不能使用的话,请按照以下顺序操作:

IE–工具–管理加载项-ChromFrame BHD–启用

以上操作执行完后记得重启浏览器!

总结:google这个墙角挖的真好,但是在IE9,IE10,11…这个浏览器层出不穷的年代,IE8真该淘汰了

Space Engine-太空模拟程序

Space Engine – 一个可以让你在三维空间中探索宇宙的免费太空模拟程序,从地球到非常遥远的星系。已知的宇宙部分使用的是真实的天文学数据,而天文学未知部分则是使用程序生成的。数百万个星系,数万亿个恒星,无数个星球 – 都可以探索。你可以着陆到任何一个星球,卫星或小行星,观看外星风景与天文现象,也可以驾驶恒星际飞船和航天飞机。

附:Space Engine-百度百科