- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
测试了我编译的 codemirror 脚本包,它可以独立工作,没有其他任何东西,但是当我尝试使用 gentelella 中的元素时主题,它加载没有错误,但在文本区域的隐藏处,codemirror 本身是隐藏的。如果我使用 Chrome 调试器,我可以使 codemirror 可见的唯一方法是通过添加 style="display: block !important;"
以下是我用于 gentelella 的代码主题:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- Meta, title, CSS, favicons, etc. -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Dashboard</title>
<!-- Bootstrap core CSS -->
<link href="./templates/gentelella/css/bootstrap.min.css" rel="stylesheet">
<link href="./templates/gentelella/fonts/css/font-awesome.min.css" rel="stylesheet">
<link href="./templates/gentelella/css/animate.min.css" rel="stylesheet">
<!-- Custom styling plus plugins -->
<link href="./templates/gentelella/css/custom.css" rel="stylesheet">
<link href="./templates/gentelella/css/maps/jquery-jvectormap-2.0.3.css" rel="stylesheet" type="text/css">
<link href="./templates/gentelella/css/icheck/flat/green.css" rel="stylesheet">
<link href="./templates/gentelella/css/floatexamples.css" rel="stylesheet" type="text/css">
<script src="./templates/gentelella/js/jquery.min.js"></script>
<script src="./templates/gentelella/js/nprogress.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="./templates/gentelella/js/ie8-responsive-file-warning.js"></script>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- CodeMirror -->
<link rel="stylesheet" href="./templates/gentelella/js/codemirror/lib/codemirror.css">
<link rel="stylesheet" href="./templates/gentelella/js/codemirror/addon/hint/show-hint.css">
<link rel="stylesheet" href="./templates/gentelella/js/codemirror/theme/cobalt.css">
<link rel="stylesheet" href="./templates/gentelella/js/codemirror/addon/dialog/dialog.css" />
<link rel="stylesheet" href="./templates/gentelella/js/codemirror/addon/hint/show-hint.css" />
<link rel="stylesheet" href="./templates/gentelella/js/codemirror/addon/fold/foldgutter.css" />
<link rel="stylesheet" href="./templates/gentelella/js/codemirror/addon/tern/tern.css" />
</head>
<body class="nav-md">
<div class="container body">
<div class="main_container">
<div class="col-md-3 left_col">
<div class="left_col scroll-view">
<div class="navbar nav_title" style="border: 0; height: 1px; overflow: hidden;">
<a href="/app/" class="site_title"><i class="fa fa-edit"></i> <span>Dashboard</span></a>
<br>
</div>
<div class="clearfix"></div>
<!-- menu prile quick info -->
<div class="profile">
<div class="profile_pic">
<img src="https://secure.gravatar.com/avatar/99fda7ae65e2d02e452f731d56ebe108" alt="Administrator" class="img-circle profile_img">
</div>
<div class="profile_info">
<span>Welcome,</span>
<h2>Administrator</h2>
</div>
<br>
</div>
<!-- /menu prile quick info -->
<!-- sidebar menu -->
<div id="sidebar-menu" class="main_menu_side hidden-print main_menu">
<div class="menu_section">
<h3> </h3>
<ul class="nav side-menu">
<li><a><i class="fa fa-home"></i> Home <span class="fa fa-chevron-down"></span></a>
<ul class="nav child_menu" style="display: none">
<li><a href="/app/">Dashboard</a></li>
</ul>
</li>
</ul>
</div>
</div>
<!-- /sidebar menu -->
<!-- /menu footer buttons -->
<div class="sidebar-footer hidden-small">
<a data-toggle="tooltip" data-placement="top" title="Settings" href="/app/settings">
<span class="glyphicon glyphicon-cog" aria-hidden="true"></span>
</a>
<a data-toggle="tooltip" data-placement="top" title="FullScreen" onclick="fullscreen()" href="javascript:void(0);">
<span class="glyphicon glyphicon-fullscreen" aria-hidden="true"></span>
</a>
<a data-toggle="tooltip" data-placement="top" title="Foo" href="#">
<span class="glyphicon glyphicon-lock" aria-hidden="true"></span>
</a>
<a data-toggle="tooltip" data-placement="top" title="Logout" href="/app/logout">
<span class="glyphicon glyphicon-off" aria-hidden="true"></span>
</a>
</div>
<!-- /menu footer buttons -->
</div>
</div>
<!-- top navigation -->
<div class="top_nav">
<div class="nav_menu">
<nav class="" role="navigation">
<div class="nav toggle">
<a id="menu_toggle"><i class="fa fa-bars"></i></a>
</div>
<ul class="nav navbar-nav navbar-right">
<li class="">
<a href="javascript:;" class="user-profile dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<img src="https://secure.gravatar.com/avatar/99fda7ae65e2d02e452f731d56ebe108" alt="Administrator">Administrator
<span class=" fa fa-angle-down"></span>
</a>
<ul class="dropdown-menu dropdown-usermenu pull-right">
<li><a href="/app/logout"><i class="fa fa-sign-out pull-right"></i> Log Out</a></li>
</ul>
</li>
<li role="presentation">
<a href="/app/notifications" alt="See All Notifications">
<i class="fa fa-envelope-o"></i>
</a>
</li>
</ul>
</nav>
</div>
</div>
<!-- /top navigation -->
<!-- page content -->
<div class="right_col" role="main">
<div class="row">
<textarea id="template" name="code"></textarea>
</div>
</div>
<!-- /page content -->
</div>
</div>
<div id="custom_notifications" class="custom-notifications dsp_none">
<ul class="list-unstyled notifications clearfix" data-tabbed_notifications="notif-group">
</ul>
<div class="clearfix"></div>
<div id="notif-group" class="tabbed_notifications"></div>
</div>
<script src="./templates/gentelella/js/bootstrap.min.js"></script>
<script src="./templates/gentelella/js/codemirror/lib/codemirror.js"></script>
<script src="./templates/gentelella/js/codemirror/lib/codemirror-extras.js"></script>
<script src="./templates/gentelella/js/codemirror/init.js"></script>
<!-- gauge js -->
<script type="text/javascript" src="./templates/gentelella/js/gauge/gauge.min.js"></script>
<!-- bootstrap progress js -->
<script src="./templates/gentelella/js/progressbar/bootstrap-progressbar.min.js"></script>
<!-- icheck -->
<script src="./templates/gentelella/js/icheck/icheck.min.js"></script>
<!-- daterangepicker -->
<script type="text/javascript" src="./templates/gentelella/js/moment/moment.min.js"></script>
<script type="text/javascript" src="./templates/gentelella/js/datepicker/daterangepicker.js"></script>
<!-- chart js -->
<script src="./templates/gentelella/js/chartjs/chart.min.js"></script>
<script src="./templates/gentelella/js/custom.js"></script>
<!-- flot js -->
<!--[if lte IE 8]><script type="text/javascript" src="./templates/gentelella/js/excanvas.min.js"></script><![endif]-->
<script type="text/javascript" src="./templates/gentelella/js/flot/jquery.flot.js"></script>
<script type="text/javascript" src="./templates/gentelella/js/flot/jquery.flot.pie.js"></script>
<script type="text/javascript" src="./templates/gentelella/js/flot/jquery.flot.orderBars.js"></script>
<script type="text/javascript" src="./templates/gentelella/js/flot/jquery.flot.time.min.js"></script>
<script type="text/javascript" src="./templates/gentelella/js/flot/date.js"></script>
<script type="text/javascript" src="./templates/gentelella/js/flot/jquery.flot.spline.js"></script>
<script type="text/javascript" src="./templates/gentelella/js/flot/jquery.flot.stack.js"></script>
<script type="text/javascript" src="./templates/gentelella/js/flot/curvedLines.js"></script>
<!-- <script type="text/javascript" src="./templates/gentelella/js/flot/jquery.flot.resize.js"></script>//-->
<!-- worldmap -->
<script type="text/javascript" src="./templates/gentelella/js/maps/jquery-jvectormap-2.0.3.min.js"></script>
<script type="text/javascript" src="./templates/gentelella/js/maps/gdp-data.js"></script>
<script type="text/javascript" src="./templates/gentelella/js/maps/jquery-jvectormap-world-mill-en.js"></script>
<script type="text/javascript" src="./templates/gentelella/js/maps/jquery-jvectormap-us-aea-en.js"></script>
<!-- pace -->
<script src="./templates/gentelella/js/pace/pace.min.js"></script>
<!-- skycons -->
<script src="./templates/gentelella/js/skycons/skycons.min.js"></script>
<!-- PNotify -->
<script type="text/javascript" src="./templates/gentelella/js/notify/pnotify.core.js"></script>
<script type="text/javascript" src="./templates/gentelella/js/notify/pnotify.buttons.js"></script>
<script type="text/javascript" src="./templates/gentelella/js/notify/pnotify.nonblock.js"></script>
<script>
function fullscreen() {
var isInFullScreen = (document.fullscreenElement && document.fullscreenElement !== null) ||
(document.webkitFullscreenElement && document.webkitFullscreenElement !== null) ||
(document.mozFullScreenElement && document.mozFullScreenElement !== null) ||
(document.msFullscreenElement && document.msFullscreenElement !== null);
if (!isInFullScreen) {
if (document.documentElement.requestFullscreen) {
document.documentElement.requestFullscreen();
} else if (document.documentElement.mozRequestFullScreen) {
document.documentElement.mozRequestFullScreen();
} else if (document.documentElement.webkitRequestFullScreen) {
document.documentElement.webkitRequestFullScreen();
} else if (document.documentElement.msRequestFullscreen) {
document.documentElement.msRequestFullscreen();
}
} else {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
}
}
NProgress.done();
</script>
<!-- /datepicker -->
<!-- /footer content -->
</body>
</html>
这是我在查看页面时得到的:
如果我如上所述更改 textarea
的样式:
一切正常,除了我无法摆脱文本区域(见下图)。
即使我将样式应用于 textarea(在 chrome live 中采用相同的方式)以将其重新定位到屏幕外,它实际上最终会重新定位 CodeMirror block ,而 textarea 仍然存在。 (示例样式:position: absolute; top: -1000;
)
唯一不属于 gentelella 的自定义脚本主题如下:
这是使用 CodeMirror Builder 构建的选择以下选项:
Version: HEAD
CodeMirror Library:
- codemirror.js
Modes:
- css.js
- htmlembedded.js
- htmlmixed.js
- javascript.js
- markdown.js
- php.js
- sql.js
- vb.js
- vbscript.js
- xml.js
Add-ons:
- active-line.js
- brace-fold.js
- closebrackets.js
- closetag.js
- comment-fold.js
- css-hint.js
- dialog.js
- foldcode.js
- foldgutter.js
- html-hint.js
- javascript-hint.js
- jump-to-line.js
- markdown-fold.js
- match-highlighter.js
- matchbrackets.js
- matchtags.js
- overlay.js
- search.js
- searchcursor.js
- show-hint.js
- sql-hint.js
- xml-fold.js
- xml-hint.js
这只是用一些选项初始化 CodeMirror。
InitializeCodeMirror = true;
function completeAfter(cm, pred) {
var cur = cm.getCursor();
if (!pred || pred()) setTimeout(function() {
if (!cm.state.completionActive)
var doc = cm.getDoc();
var POS = doc.getCursor();
var mode = CodeMirror.innerMode(cm.getMode(), cm.getTokenAt(POS).state).mode.name;
console.log(mode);
if (mode == 'xml') { //html depends on xml
CodeMirror.showHint(cm, CodeMirror.hint.html);
} else if (mode == 'javascript') {
CodeMirror.showHint(cm, CodeMirror.hint.javascript);
} else if (mode == 'css') {
CodeMirror.showHint(cm, CodeMirror.hint.css);
}
// cm.showHint({completeSingle: false});
}, 100);
return CodeMirror.Pass;
}
function completeIfAfterLt(cm) {
return completeAfter(cm, function() {
var cur = cm.getCursor();
return cm.getRange(CodeMirror.Pos(cur.line, cur.ch - 1), cur) == "<";
});
}
function completeIfInTag(cm) {
return completeAfter(cm, function() {
var tok = cm.getTokenAt(cm.getCursor());
if (tok.type == "string" && (!/['"]/.test(tok.string.charAt(tok.string.length - 1)) || tok.string.length == 1)) return false;
var inner = CodeMirror.innerMode(cm.getMode(), tok.state).state;
return inner.tagName;
});
}
function CodeMirrorInit(elementName) {
cmInstance = CodeMirror.fromTextArea(document.getElementById(elementName), {
mode: "htmlmixed",
lineNumbers: true,
autoCloseTags: true,
autoCloseBrackets: true,
foldGutter: true,
styleActiveLine: true,
theme: 'cobalt',
gutters: ["CodeMirror-foldgutter", "CodeMirror-linenumbers"],
autocomplete: true,
extraKeys: {
"'<'": completeAfter,
"'/'": completeIfAfterLt,
"' '": completeIfInTag,
"'='": completeIfInTag,
"'.'": completeAfter,
"'{'": completeAfter,
"':'": completeAfter,
"Ctrl-Space": "autocomplete"
}
} );
}
function registerHotKeys() {
$(window).bind('keydown', function(event) {
if (event.ctrlKey || event.metaKey) {
switch (String.fromCharCode(event.which).toLowerCase()) {
case 's':
event.preventDefault();
// jQuery.gritter.add({
// title: 'This is a regular notice!',
// text: 'This will fade out after a certain amount of time.',
// class_name: 'growl-success',
// image: '/se/template/images/screen.png',
// sticky: false,
// time: ''
// });
//alert('ctrl-s');
break;
// case 'f':
// event.preventDefault();
// alert('ctrl-f');
// break;
// case 'g':
// event.preventDefault();
// alert('ctrl-g');
// break;
}
}
});
}
if(InitializeCodeMirror === true) {
CodeMirrorInit('template');
cmInstance.focus();
cmInstance.setCursor(1);
registerHotKeys();
}
最佳答案
添加类为 x_content
或 col-md-*
关于jquery - 当 CodeMirror 隐藏它在 Gentelella 主题中 Hook 的 TextArea 时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37107120/
使用代码镜像,我们可以折叠代码。 我想用花括号折叠所有代码。我发现了这种方法 我如何折叠整个代码,这是我的HTML脚本: window.onload = function() { var te =
我想将“Alt-Space”键映射添加到 codemirror,然后在按下键时执行特定功能。我无法使用 . cm.addKeyMap 我应该在哪里编写此函数,以便可以将键映射绑定(bind)到特定函数
我想重置 Codemirror 编辑器的所有内容。理想情况下,这应该清除 textarea,删除所有标记并清除历史记录。 实现这一目标的最佳方法是什么? 最佳答案 cm.setValue(""); c
我知道你用 editor.setValue(""); 设置一个值,但如何在 CodeMirror 中附加? IE: editor.appendText();? 最佳答案 使用 replaceRang
CodeMirrors 全屏模式的文档似乎有点稀疏。例如,我如何告诉它监听键以激活全屏?或者如何使用按钮切换全屏? 为了他人的利益,下面是我找到的解决方案。 最佳答案 这将获得选项值: editor
我需要在 CodeMirror 中当前行号旁边插入一个新行。 我查看了文档,但没有找到任何关于在行尾附加任何内容的信息。 请帮忙。 :( 最佳答案 从光标位置获取当前行,并对其进行操作。这应该这样做(
是否可以在 中显示隐藏字符(如回车符)? Codemirror 文本编辑器 ,但我没有在它的文档中找到任何关于它的配置引用。有可能这样做吗? 最佳答案 回车符由 CodeMirror 专门解释(当它自
CodeMirror 是实现单行表达式编辑器的好选择吗?我无法从手册(或我查看的问题)中弄清楚 CodeMirror 是否可以配置为执行以下操作: 不显示滚动条(如果太长,文本应该向左滑动) 忽略插入
来自 http://codemirror.net/doc/manual.html ,我只找到getRange() , undo()、redo() 等,我找不到 cut()、copy() 和 paste
我正在构建一个简单的代码编辑器来帮助 children 学习 HTML。我试图添加的一个功能是,当用户将鼠标悬停在他们呈现的代码上时(在 iframe 中),编辑器中相应的 HTML 代码会突出显示。
我正在构建一个简单的代码编辑器来帮助 children 学习 HTML。我试图添加的一个功能是,当用户将鼠标悬停在他们呈现的代码上时(在 iframe 中),编辑器中相应的 HTML 代码会突出显示。
我正在构建一个供个人使用的小型 extjs 5.1 应用程序,旨在保存我的 extjs 应用程序中使用的函数/方法的示例。 在 Navaneeth-Kesavan 和 Tarabass 的帮助下,我在
我正在使用CodeMirror 5.1。 This article显示 C# 语法突出显示,但显然解决了 CodeMirror 过时版本的问题。 问题:如何使用 CodeMirror 实现真正的 C#
我正在使用CodeMirror 5.1。 This article显示 C# 语法突出显示,但显然解决了 CodeMirror 过时版本的问题。 问题:如何使用 CodeMirror 实现真正的 C#
我正在写一些 cypress测试 Codemirror 编辑器。我用过 cypress在输入字段中输入。 我正在尝试实现 cy.type()在 CodeMirror 编辑器中。我在 codemirro
所以我检查规范化以将规范化库添加到 Codemirror 中。 我检查 jQuery,并在规范化后添加 jQuery 源: 但是如果我取消选中标准化,我希望它删除标准化链接,如果我再次选中它,我
https://github.com/angular-ui/ui-codemirror 我需要用 Angular 制作一个语法高亮器并将结果保存在数据库中。 我正在使用 ui-codemirror,但
有人为codemirror做了'htmlmixed' + 'Velocity'模式吗?或者任何人都可以建议如何实现这一目标? 最佳答案 我能够使用 overlay.js 插件轻松实现这一点: Code
我正在将 CodeMirror 实现到我的 Nuxtjs/Vuejs 应用程序中的文本区域之一。我想根据 XML 美化 textarea。 有时 CodeMirror 工作正常,但有时当我重新加载页面
我正在尝试在 React/Redux/TS 应用程序中启用 react-codemirror 组件的 linting 插件。正常的 codemirror 东西工作正常,语法突出显示,行号等。但是,启用
我是一名优秀的程序员,十分优秀!