bug 反馈
Uncaught TypeError: Cannot read property 'contentWindow' of null
new.function.js?version=3.3.6:35
出现条件:当页面已经有编辑器后,再打开一个有编辑器的页面,就会出现
如:打开一个话题的详细页面后,再打开“发新帖”会出现
第一个bug的参考解决:
var ueditor_id='ueditor_0';
var frames=document.getElementsByTagName('iframe');
for(var i=0;i<frames.length;i++){
if(frames[i].id.indexOf('ueditor_')>-1){
ueditor_id=frames[i].id;
break;
}
}
document.getElementById(ueditor_id).contentWindow.document.body.onkeydown = function(Event){
CtrlAndEnter(Event, false);
};Thanks!
全站异步加载是十几天前花了半天时间改的,因为最近一直在驾校,所以一些没造成明显影响的Bug没有被及时检出,感谢反馈!
如果你有GitHub账号的话,不如把这些代码以pull request的方式合并到项目中,这样也可以在contributors中挂个名字。
https://github.com/lincanbin/Carbon-Forum/graphs/contributors
回复#9 @shiqiren :
最好不要,因为网站改成全异步后,理论上最好每个不同功能的页面都不要出现同样的命名,包括ID、Name、Function等等。
因为JavaScript也是以异步方式载入,并且常驻在Head标签中,随着打开的页面增加,载入的JavaScript也会逐渐增加最终达到一个稳定值,从而实现一个比较快的加载速度。
https://github.com/lincanbin/Carbon-Forum/blob/master/static/js/global.js#L141
异步载入静态资源的代码在这里:
//异步非阻塞加载JavaScript脚本文件
function loadScript(url, callback) {
var script = document.createElement("script");
script.id = md5(url);
script.type = "text/javascript";
if (script.readyState) { //IE
script.onreadystatechange = function() {
if (script.readyState == "loaded" || script.readyState == "complete") {
script.onreadystatechange = null;
callback();
}
};
} else { //Others
script.onload = function() {
callback();
};
}
script.src = url;
if(document.getElementById(script.id) == undefined){
document.getElementsByTagName("head")[0].appendChild(script);
}else{
callback();
//console.log(url);
}
}登录后方可回帖
我准备在考驾照啊……

粤公网安备 44030602003677号
new.function.js?version=3.3.6:286
Uncaught TypeError: Cannot read property 'Title' of undefined