endif

wangeditor 粘贴word内容带样式

不羁的心 提交于 2019-12-04 06:19:32
bug:最近遇到页面渲染数据多了<!--[if gte mso 9]<![endif]-->/ <!--[if gte mso 10]>↵<![endif]--> 分析原因,原来是富文本编辑器粘贴word内容是的样式问题,不同富文本编辑器处理方式略有不同,不过都大同小异,解决此问题考虑二处,一处是富文本编辑是就把多余的标签去掉,一处是针对已经上线的项目,数据库已经有此类数据,再从接口取到数据时稍做处理即可。下面详细展示错误页面和bug以及解决代码,如有不足,欢迎交流! 一:富文本编辑器编辑内容情况 1、页面呈现: <!--[if gte mso 10]>↵<![endif]-->: 2、代码呈现:<!--[if gte mso 9]</xml><![endif]-->/ <!--[if gte mso 10]>↵<![endif]--> <!--[if gte mso 9]><xml><w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="260" > 省略中间几百行 <w:LsdException Locked="false" Priority="99"

koa2入门--09.art-template高速模板引擎的使用

别来无恙 提交于 2019-12-03 13:28:33
首先在项目文件夹下使用 cmd,输入:npm install --save art-template koa-template art-template语法参考: http://aui.github.io/art-template/zh-cn/docs/syntax.html ,同时也支持ejs模板语法 后端: //koa-art-template模板引擎 const koa = require('koa'); var router = require('koa-router')(); var render = require('koa-art-template'); const static = require('koa-static'); const bodyParser = require('koa-bodyparser'); const session = require('koa-session'); var app = new koa(); app.use(static('./www')); app.use(bodyParser()); var keys = []; (()=>{ for(var i=0;i<1000;i++){ keys.push(Math.random()+100); }; }); app.keys = keys; app.use(session({

解决ie低版本不认识html5标签

不想你离开。 提交于 2019-12-03 13:07:49
在不支持 HTML5 新标签的浏览器里,会将这些新的标签解析成行内元素( inline )对待,所以我们只需要将其转换成块元素( block )即可使用,但是在 IE9 版本以下,并不能正常解析这些新标签,但是却可以识别通过 document.createElement('tagName') 创建的自定义标签,于是我们的解决方案就是将 HTML5 的新标签全部通过 document.createElement ('tagName')来创建一遍,这样 IE 低版本也能正常解析 HTML5 新标签了。 处理方式:在实际开发中我们更多采用的是通过检测IE浏览器的版本来加载三方的一个JS库来解决兼容问题(测试在IE下面的兼容性:ieTester软件的使用) html5shiv :解决ie9以下浏览器对html5新增标签的不识别,并导致CSS不起作用的问题。 respond :让不支持css3 Media Query的浏览器包括IE6-IE8等其他浏览器支持查询。 我们解决的问题, 主要是针对于 ie 低版本的,也就是只有低版本 ie 才执行才对。 <!--[if lt IE 9]>   <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.js"></script>   <script src="http://cdn.bootcss

当结构体遇上宏定义,以及函数指针的高级写法(结构体中能用宏定义一个函数?)

爷,独闯天下 提交于 2019-12-03 12:11:18
一、结构体中可以定义一般的宏定义 如: struct aaa { #define STATUS_1 100 #define STATUS_2 200 #define STATUS_3 300 ........ }; 首先,这里的宏定义是在预编译阶段完成的,编译器此时并不知道什么结构体,所以这些宏是全局可见的。 一个宏定义,如果写在结构体之内,即使与结构体之外的宏定义名字重复了最多是编译警告。可是如果不在结构体之内,名字重复可肯定是error。(未证实,可以做实验,而且可以把两处的宏定义成不同的值,会是什么情况?) 定义在结构体之内的宏在结构体内可以隐藏定义在结构体之外定义的宏,如果都在结构体之外定义,那么就是定义了两个相同的宏,而一个在内,一个在外,则结构体内只看到内部定义的宏,而结构体外只看到外部定义的宏,跟变量的隐藏类似。 宏的处理是在编译的预处理阶段完成的。预处理器根本就不认识什么结构体,在C语言编译器编译这个C文件中的结构体时,这个define语句已经不存在了。 相应的,用到这个宏的地方,宏本身也已经替换成宏的值(这个宏展开)。大家可以用gcc -E命令来只做预处理而不编译,看看出来后的文件。 至于为什么在结构体里头#deifne,是因为这个宏一般用于定义该结构体里头的标志位变量的可能的值,和结构体的这个变量密切相关。放在一起从逻辑上比较容易理解。 二

使用弹窗批量修改数据POPUP_GET_VALUES

↘锁芯ラ 提交于 2019-12-03 11:12:07
转自: https://blog.csdn.net/huanglin6/article/details/81231215 业务场景:在SAP内,有时候需要用户批量维护某些数据,这时候可以使用标准函数POPUP_GET_VALUES可以进行批量的维护。 效果图 参考代码 FORM CALL_CHANGE CHANGING P_L_RETURN_CODE . DATA: BEGIN OF FIELDS OCCURS 5. INCLUDE STRUCTURE SVAL. DATA: END OF FIELDS. DATA: L_RETURN_CODE TYPE C. DATA: DATE LIKE T5A4A-DLYDY. CLEAR:FIELDS. FIELDS-TABNAME = 'ZTSD_SCXQ_H'. FIELDS-FIELDNAME = 'WERKS'. APPEND FIELDS. CLEAR:FIELDS. FIELDS-TABNAME = 'EKKO'. FIELDS-FIELDNAME = 'EKORG'. APPEND FIELDS. CLEAR:FIELDS. FIELDS-TABNAME = 'EKKO'. FIELDS-FIELDNAME = 'EKGRP'. APPEND FIELDS. CLEAR:FIELDS. FIELDS-TABNAME =

How to write one IE conditional comment to target all IE versions at once?

匿名 (未验证) 提交于 2019-12-03 09:06:55
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I want to use a JavaScript only for all IE version 6,7 and 8. 回答1: Nested conditions ( WRONG ): <!--[if lte IE 8]> <!--[if gte IE 6]> <!-- your stuff here --> <![endif]--> <![endif]--> EDIT: As Martha highlighted, nested condition don't work, use " & ": <!--[if (lte IE 8) & (gte IE 6)]> <!-- your stuff here --> <![endif]--> Other examples from MSDN : <!--[if IE]><p>You are using Internet Explorer.</p><![endif]--> <![if !IE]><p>You are not using Internet Explorer.</p><![endif]> <!--[if IE 7]><p>Welcome to Internet Explorer 7!</p><![endif]-->

How does APP_OPTIM manifest in code?

匿名 (未验证) 提交于 2019-12-03 02:56:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: In Application.mk you can set: APP_OPTIM := release APP_OPTIM := debug How can I test for release/debug build in C++? I'm assuming there are defines so I've tried this, but only "NOT" messages are logged: #ifdef RELEASE LOGV("RELEASE"); #else LOGV("NOT RELEASE"); #endif #ifdef DEBUG LOGV("DEBUG"); #else LOGV("NOT DEBUG"); #endif 回答1: In android-ndk-r8b/build/core/add-application.mk we read: ifeq ($(APP_OPTIM),debug) APP_CFLAGS := -O0 -g $(APP_CFLAGS) else APP_CFLAGS := -O2 -DNDEBUG -g $(APP_CFLAGS) endif So, to answer your question: in NDK

How to deal with noexcept in Visual Studio

匿名 (未验证) 提交于 2019-12-03 02:45:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm trying to create a custom exception that derives from std::exception and overrides what() . At first, I wrote it like this: class UserException : public std::exception { private: const std::string message; public: UserException(const std::string &message) : message(message) {} virtual const char* what() const override { return message.c_str(); } }; This works fine in VS2012, but it doesn't compile in GCC 4.8 with -std=c++11 : error: looser throw specifier for ‘virtual const char* UserException::what() const’ So I add noexcept : virtual

ABAP 显示长文本

匿名 (未验证) 提交于 2019-12-03 00:22:01
业务背景: 一般来讲,这种类型于这种编辑后输出的需求直接在ALV上对应的列设置为可编辑即可,但是这次需求不太一样,它是一个长文本输出, 而ALV的列显示最大128位(这里的意思是:如果ALV的列里存了1000位长度的文本,但是它只会显示128位,但是如果输出成EXCEL时候是可以正常把1000位全都输出的)。为了解决alv不能显示长文本的问题,稍微研究了下长文本的形式。 长文本: 在SAP内,我是用一个容器来实现的,或者应该不用容器也是可以的(比如docking),在屏幕上画一个容器,然后显示出来。 效果展示 其中 保存按钮 是当用户在点击后会把当前的文本更新回ALV,取消按钮则不做任何操作直接返回 主要代码 *&---------------------------------------------------------------------* *& Module STATUS_9100 OUTPUT *&---------------------------------------------------------------------* *& *&---------------------------------------------------------------------* MODULE STATUS_9100 OUTPUT. SET PF-STATUS

jsp中判断浏览器版本的语句,用于个浏览器兼容

匿名 (未验证) 提交于 2019-12-03 00:03:02
<!--[if lte IE 6]> <![endif]--> IE6及其以下版本可见 <!--[if lte IE 7]> <![endif]--> IE7及其以下版本可见 <!--[if IE 6]> <![endif]--> 只有IE6版本可见 <![if !IE]> <![endif]> 除了IE以外的版本 <!--[if lt IE 8]> <![endif]--> IE8及其以下的版本可见 <!--[if gte IE 7]> <![endif]--> IE7及其以下的版本可见 用法: (1) 可使用如下代码检测当前IE浏览器的版本( 注意: lte: 就是Less than or equal to的简写,也就是小于或等于的意思。 lt : 就是Less than的简写,也就是小于的意思。 gte: 就是Greater than or equal to的简写,也就是大于或等于的意思。 gt : 就是Greater than的简写,也就是大于的意思。 ! : 就是不等于的意思,跟javascript里的不等于判断符相同 (2) 应该如何应用条件注释 注意: 正常就是默认的样式,对IE浏览器需要特殊处理的,才进行条件注释。在HTML文件里,而不能在CSS文件中使用。 现在的DWcs4里面,已经装备了这些注释:在“窗口-->代码片段-->注释”里。其他的版本没太注意到。