【背景】
折腾:
【规避解决】kindeditor第二次加载时无法加载已有html内容
期间,需要去把原先的jsp文件中的:
{
id:'editGoods',
text:'编辑团购',
disabled:true,
iconCls: 'icon-edit',
handler: function(){
var row = $(contextId).datagrid('getSelected');
cur_goodsId = row.id;
if(storeFlag == "xiaoyuanchaoshi"){
createWindow(contextId, '编辑商品信息', 800, 600, 'view/store/form/chaoshigoodseditform.html');
}else{
createWindow(contextId, '编辑商品信息', 800, 600, 'view/store/form/goodseditform.html');
}
}
},以createWindow方式创建窗口,用于编辑商品信息,其中加载KindEditor。
变成:
新打开一个html页面的方式,加载kindeditor去编辑商品信息,
希望以此方式,可以规避掉:
【规避解决】kindeditor第二次加载时无法加载已有html内容
中所发现的,第二次加载,就不显示html内容了,的bug。
【折腾过程】
1.听说是window用open,然后加上location的href的url就可以了。
搜:
jquery 新打开html页面
参考:
jquery 打开页面window.location和window.open的区别_Suger_Code_新浪博客
JS页面跳转和打开新窗口的方法 – 耿鹏丽的博客 | 专注于WEB开发技术和用户体验的博客,致力于JQuery、JQueryMobile、ExtJS、HTML5、CSS3前端技术的分享与交流。
Javascript跳转页面和打开新窗口等方法 – 雨晨 – 博客园
试试:
$(cur_open_windowId).window.open(url);
结果新打开窗口直接就无法显示任何内容了:
2.再去试试:
$(cur_open_windowId).window.location.href = url;
结果:
效果同上。
3.经历过:
最后用如下代码:
// //$(cur_open_windowId).window('refresh', url);
//$(cur_open_windowId).window.open(url);
url = "lib/kindeditor/jsp/demo.jsp";
var w = 800;
var h = 480;
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
window.open(url, "商品编辑页面", 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
// window.location.href = url;实现了打开新页面的效果:
【总结】
此处,新打开html页面,主要是用如下代码:
// //$(cur_open_windowId).window('refresh', url);
//$(cur_open_windowId).window.open(url);
url = "lib/kindeditor/jsp/demo.jsp";
var w = 800;
var h = 480;
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
window.open(url, "商品编辑页面", 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
// window.location.href = url;即可。
然后,这样每次点击对应的按钮,调用打开新页面,加载了KindEditor后,内容就可以自动加载进来了。就不会出现之前的bug:第二次加载KindEditor后,内容始终不显示。
了。