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); } }
登录后方可回帖
new.function.js?version=3.3.6:286
Uncaught TypeError: Cannot read property 'Title' of undefined