在被js狠狠地折磨了8个小时后,页面终究还是运行起来了。不过还没被折磨够,明天还要继续接受摧残。。
背景:昨天下午,老板一个电话过来,让我作个demo。说是为做一个可视化编辑器作准备。
研究:
我记得je的js板块似乎看见过一个叫龙博的ajax可视化编辑器。然后搜出来一看,太依赖自身框架,放弃。。
在g了很久之后,发现好像没有一个可视化编辑器是可以自定义生成代码的。(因为要求要生成一套自定义代码)。决定自己做。想了想,首先控件要可拖动,然后可使用流布局和绝对位置布局(VS里的ASP.NET编辑器也是这样的),然后就是根据编辑生成代码(既然是demo,就省了生成这步先。。)
好吧,动工了。
找到一个jquery的拖动元素的插件(dragdrop)。这个插件支持两种拖动:1、从一个位置到另一个位置的互换。2、全局拖动。
本以为可以满足需求,在自己改了N久直到吐血之后,发现不行,如果要使用流布局的话太牵强。要自己计算位置。很多东西要自己做。。
后来决定改web editor。先看了下CKEditor。好家伙,竟然没文档?。。。
好吧,是我的错,不该看这么高深的东西。。
那就从jwyswyg开始把。
web editor本来就是流布局模式,这样的话剩下我不少时间。先要解决的是控件拖动的问题。
在ie中。使用
execCommand("AbsolutePosition");
execCommand("2D-Position");
就可以使选中的元素变为可拖动的。
但Firefox?
在g了N久没有结果之后决定自己试,试的过程我就不说了,千辛万苦,苦海无涯。。。
最后发现其实只要将元素的position设置为absolute就可以了。。
但我发现一个问题就是如果编辑器中仅有一个可拖动的元素。你不使用拖动按钮而直接拖动元素本身的话这个元素就会消失。。。
解决办法是事先在编辑器中添加一个 (好山寨的办法)。。。
最后我还是想说一句。。浏览器兼容性害死让人。。。
分享到:
相关推荐
在帝都等空气污染严重的地区,新风系统不仅有助于去除PM2.5等污染物,还能减少装修后建材释放的有害物质,提供更健康的生活环境。 对于打算安装新风系统的人来说,需要权衡各种类型的优缺点,根据自己的住宅结构、...
VMware-Workstation-8-Keygen 注册机和序列号 sn 里面包含 VMware Workstation 8 的注册机和注册码, 我发布时经测试可用. VMware Workstation 8 介绍 支持Win8安装,虚拟机VMware Workstation 8正式版日前...
《趁年轻 折腾吧》是一本鼓励年轻人积极进取、勇于尝试的书籍,作者袁岳以其丰富的经历和深刻的洞察力,向读者传达了在青春时期积极探索、不断挑战自我的重要性。这本书的主题围绕着“折腾”展开,意在激发年轻人的...
在IT领域,尤其是在户外活动和地理定位应用中,看星图软件扮演着至关重要的角色。这类软件能够帮助用户通过智能手机或设备查看天空中的星星位置,甚至进行导航。今天我们要介绍的是一款名为TG7中的看星图软件——...
在Linux嵌入式开发领域,开发者常常需要面对各种硬件平台,设计并实现高效、小巧且功能丰富的系统。本文将深入探讨这一主题,基于"记录xdd的Linux嵌入式开发折腾过程.zip"中的经验分享,来解析Linux嵌入式开发的核心...
Spring Boot 实践折腾记的代码实现package说明:boot学习Spring Boot的文章集合入门Web应用操作数据库序列化API化Spring Boot 实践折腾记(8):极速简化MVCSpring Boot 实践折腾记(9):快速构建 Web API响应式...
STM8S+STVD+COSMIC折腾小记STM8S+STVD+COSMIC折腾小记.专为新手准备_rezip
V8是Google开发的一款高性能的JavaScript和WebAssembly虚拟机,被广泛应用于Chrome浏览器以及Node.js等项目中。Windows版本的V8开发库是为在Windows平台上进行V8引擎的开发和调试而准备的。这个库提供了必要的头文件...
STM8S+STVD+COSMIC折腾小记STM8S+STVD+COSMIC折腾小记.专为新手准备1_rezip
【转载】蜗牛星际矿渣黑群晖安装折腾路以及指引-附件资源
标题中的“Python-pycaffeerecurrent在ipynb上训练用pycaffe折腾LSTM和RNN网络”指的是一项使用Python的pycaffe库在Jupyter Notebook(ipynb)环境中训练循环神经网络(RNN)和长短期记忆网络(LSTM)的任务。...
### STM8S+STVD+COSMIC折腾小记 #### 一、STM8S存储器模式及编程细节 STM8S微控制器支持两种不同的存储器模式:`-stackshort(mods0)` 和 `-StackLong(modsl0)`。这两种模式分别针对不同的内存管理需求。 1. **`-...
4-成功源于折腾.doc
例如,如果`js`目录下同时包含压缩和未压缩的JavaScript文件,可以通过以下方式来压缩未被压缩的文件: ```javascript gulp.src(['js/**/*.js', '!js/**/*.min.js']) ``` ##### 2.3 使用`gulp-jshint`进行代码检查...
《小米路由器3G建站折腾笔记》用到的工具、ROM和开源代码。 详情请见: 小米路由器3G建站折腾笔记1 - 引言与路由器选择 https://blog.csdn.net/God4/article/details/104368621 小米路由器3G建站折腾笔记2 - 刷...
在JavaScript的调试过程中,Chrome浏览器提供了强大的调试工具,使得开发者能高效地定位和解决问题。本文主要探讨了几个关键的JS断点调试技巧,帮助我们更好地理解代码执行流程。 首先,技巧一涉及到的是如何处理...
总的来说,“折腾六块腹肌手机版 V1.8”是一款专注于腹肌锻炼的安卓健康医疗应用,通过提供专业指导和个性化服务,帮助用户在移动设备上实现健身目标。随着版本的迭代,它不断改进和升级,以满足用户日益增长的需求...