发明内容
本发明提供一种在线交互块式编辑方法及编辑器,以实现在线块编辑,为在线创意编辑提供可能。
为此,本发明实施例提供如下技术方案:
一种在线交互块式编辑方法,包括:
设置文字块编辑框架;
将所述文字块编辑框架独立于文档编辑区域;
按照类名进行点击测试的方式在所述文字块编辑框架中创建文字块;
当需要修改所述文字块中的内容时,按照类名进行点击测试的方式选中和移动所述内容。
优选地,所述设置文字块框架包括:
利用<div>标签设置文字块框架。
优选地,所述方法还包括:
将标识文字块框架的<div>标签的位置设置为绝对位置。
优选地,所述将所述文字块编辑框架独立于文档编辑区域包括:
利用<iframe>标签将所述文字块编辑框架独立于文档编辑区域。
优选地,所述方法还包括:
利用临时对象模拟所有的状态提示。
一种在线交互块式编辑器,包括:文字输入模块和图片输入模块,还包括:文字块编辑模块,所述文字块编辑模块包括:
设置单元,用于设置文字块编辑框架;
连接单元,用于将所述文字块编辑框架独立于文档编辑区域;
创建单元,用于按照类名进行点击测试的方式在所述文字块编辑框架中创建文字块;
修改单元,用于当需要修改所述文字块中的内容时,按照类名进行点击测试的方式选中和移动所述内容。
优选地,所述设置单元,具体利用<div>标签设置文字块框架。
优选地,所述编辑器还包括:
定位单元,用于将标识文字块框架的<div>标签的位置设置为绝对位置。
优选地,所述连接单元,具体用于利用<iframe>标签将所述文字块编辑框架独立于文档编辑区域。
优选地,所述编辑器还包括:
状态提示单元,用于利用临时对象模拟所有的状态提示。
本发明在线交互块式编辑方法及编辑器,通过设置文字块编辑框架;将所述文字块编辑框架独立于文档编辑区域;按照类名进行点击测试的方式在所述文字块编辑框架中创建文字块;当需要修改所述文字块中的内容时,按照类名进行点击测试的方式选中和移动所述内容。从而简单、有效地实现了在线块编辑,进而为在线创意编辑提供了可能。
具体实施方式
下面结合附图和实施方式对本发明实施例作进一步的详细说明。
如图1所示,是本发明实施例在线交互块式编辑方法的流程图,包括以下步骤:
步骤101,设置文字块编辑框架。
具体地,可以利用<div>标签设置文字块框架。
需要说明的是,为了避免浏览器进行自动流式排版,可以将标识文字块框架的<div>标签的位置设置为绝对位置。这样所有的文字块就可以在页面内自由地摆放、随意地移动、放大或缩小,而不会影响其他的内容。
步骤102,将所述文字块编辑框架独立于文档编辑区域。
具体地,可以利用<iframe>标签将所述文字块编辑框架独立于文档编辑区域。
将所述文字块编辑框架独立于文档编辑区域,可以使编辑焦点或者选中状态不会因为鼠标点击或触摸等操作导致编辑焦点或者选中状态丢失。
步骤103,按照类名进行点击测试的方式在所述文字块编辑框架中创建文字块,比如class='TextBlock'。
步骤104,当需要修改所述文字块中的内容时,按照类名进行点击测试的方式选中和移动所述内容,比如class='page'。
利用本发明实施例的方法,可以基于HTML5(Hypertext MarkupLanguage5,超文本标记语言版本5),实现对文字块的在线块编辑。
例如,基于HTML5实现文字块编辑的框架组织如下:
上述框架采用双主体(body)的方式,工具条区域和文档区域层次结构上采用并列的方式,文档层内嵌iframe标签(用于定义内联框架),然后在iframe标签内的body中建立文档的编辑页面(page)。
采用内嵌的iframe看似增加了整个编辑框架的复杂度,但其真正的用意是分离编辑焦点和工具操作。由于浏览器和HTML本身的特点,当鼠标或者触控点击操作发生时,焦点对象是随着点击而改变的,那么就无法完成对文字的选中再点击工具按钮进行功能的应用。
为此,在本发明实施例中,利用上述iframe标签,其作用相当于在当前的web页面中又内嵌一个另外的web页面,两个页面互相不干扰。当点击发生在各自的区域时,由各自的页面进行处理,从而很好地解决了编辑文字时的焦点问题。
然后通过javascript将工具命令和文档进行联系,使工具的代码可以操作文档的结果,这样就可以形成文字的可视化的交互编辑。
如图2所示,是利用本发明实施例的方法创建文字块时提示文字块位置和大小的橡皮线示意图。
web页面不同于本地应用程序,本地应用程序都存在着GDI(GraphicsDevice Interface,图形设备接口),而基于浏览器和HTML的web页面则没有,因此所有的提示不能像本地应用那样将线条画到GDI上,而是所有显示的内容都必须有一个实体的对象才行,而且这个对象还必须挂在相应的DOM(Document Object Model,文档对象模型)节点上才可以显示。DOM是HTML与XML(Extensible Markup Language,可扩展的标记语言)的应用编程接口,DOM将整个页面映射为一个由层次节点组成的文件。
为了在这种显示和内容无法分离的状况中解决状态提示的问题,在本发明实施例中,可以采用一个伪临时对象来模拟所有的状态提示,比如在画文字块(包括创建和/或修改文字块)的时候,用所述伪临时对象来冒充文字块本身,等文字块画完,将它销毁。再比如,画文字块时的橡皮线,选中文字块时的角度状态和改变大小的手柄等,这些状态的对象本身也参与排版但并不影响排版,在显示的时候对象存在,不显示的时候对象就销毁。
如图3所示,是本发明实施例的方法中文字块的编辑状态示意图。
文字块采用<div>标签来实现,不同于其他比如<input>、<textarea>等可接受键盘输入的标签,<div>本身是不可编辑的,它并不能直接接收文字的录入,为此,在本发明实施例中,可以利用HTML5的contentEditable属性来使它变成可编辑状态(设置contentEditable=‘true’时,即可开启该元素的编辑模式),从而实现文字的录入。
如图4所示,是本发明实施例的方法中文字块的选中移动缩放状态示意图。
文字块的选中提示可以采用传统的手柄方式,既可以移动又可以拖动各个手柄进行不同方向的缩放。选中的边框和手柄同样采用伪临时对象的方式。
可见,利用本发明实施例在线交互块式编辑方法,可以简单、有效地实现在线块编辑,进而为在线创意编辑提供了可能。
相应地,本发明实施例还提供一种在线交互块式编辑器,如图5所示,是该编辑器的一种结构示意图。
在该实施例中,所述编辑器包括:文字输入模块501和图片输入模块502,以及文字块编辑模块503。其中,文字块编辑模块503包括:
设置单元531,用于设置文字块编辑框架;
连接单元532,用于将所述文字块编辑框架独立于文档编辑区域;
创建单元533,用于按照类名进行点击测试的方式在所述文字块编辑框架中创建文字块;
修改单元534,用于当需要修改所述文字块中的内容时,按照类名进行点击测试的方式选中和移动所述内容。
上述设置单元531具体可以利用<div>标签设置文字块框架。
需要说明的是,为了避免浏览器进行自动流式排版,所述编辑器还可进一步包括:定位单元(未图示),用于将设置单元531设置的用于标识文字块框架的<div>标签的位置设置为绝对位置。这样所有的文字块就可以在页面内自由地摆放、随意地移动、放大或缩小,而不会影响其他的内容。
上述连接单元532具体可以利用<iframe>标签将所述文字块编辑框架独立于文档编辑区域。将所述文字块编辑框架独立于文档编辑区域,可以使编辑焦点或者选中状态不会因为鼠标点击或触摸等操作导致编辑焦点或者选中状态丢失。
由于在web页面中,所有显示的内容都必须对应一个实体的对象,而且这个对象还必须挂在相应的DOM节点上才可以显示。因此,为了在这种显示和内容无法分离的状况中解决状态提示的问题,在本发明实施例的编辑器中,还可进一步包括:状态提示单元(未图示),用于利用临时对象模拟所有的状态提示。这些临时对象本身也参与排版但并不影响排版,在显示的时候所述临时对象存在,不显示的时候临时对象就销毁。
可见,利用本发明实施例在线交互块式编辑器,可以简单、有效地实现在线块编辑,进而为在线创意编辑提供了可能。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的门禁控制系统中的一些或者全部部件的一些或者全部功能。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。