问题标签 [prism.js]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 第三部分库和 Angular Universal [Angular 2]
我prism.js
在我的项目中使用,当我切换到universal-cli
服务器端的终端时出现错误
ReferenceError:未定义棱镜
在 angular-cli.json 我有棱镜脚本:
从组件我这样称呼它:
有谁知道如何解决这个问题?
javascript - 提交prism.js时tinymce删除跨度
到目前为止,当我在 tinymce 文本编辑器中打开 prism.js 时,它看起来很好,它突出显示了代码,当然因为当我检查时,标签 <span> 存在于 <pre> 标签内。问题是,提交时, <span> 标记不再跟随。他们只是消失了。怎么了?prism.js作为tinymce插件是著名的未解决问题吗?还是我错过了什么?我只需要 <span> 在提交时在那里。就这样。
请帮忙。提前致谢。
/ ------------- 为了清楚起见,这里是插件代码 ------------- /
tinymce - TinyMCE 剥离自己的代码示例
我正在使用 TinyMCE 的代码示例插件。它第一次工作并正确保存到数据库中,但是当再次打开编辑器时,它要么剥离代码示例内容(如果它是“非法的”),要么将其放在 codesample 标记之外。
保存的代码:
<pre class="language-markup"><code><!DOCTYPE html></code></pre>
再次加载编辑器时:
<pre class="language-markup"><code></code></pre>
在将内容返回给编辑器之前,是否应该以某种方式过滤内容?我认为这是因为编辑器首先将转义的 HTML 转换回普通标签……看起来真的有点傻。
有谁知道这个的解决方法或以前遇到过这个?
提前致谢
angular - Angular - 样式被忽略/覆盖
我遇到了未将样式应用于元素的问题。如果我在组件的样式参数中添加样式信息,或者在 styleUrls 参数中提供 CSS 文件,我会得到预期的结果。但是,没有应用内联 HTML 样式。在下面的示例中,我尝试将红色背景应用于 div,但它保持白色。该 HTML 作为 Angular 组件的模板存在。
但是,如果我将 ngStyle="" 添加到元素中,例如:
然后 Angular 将 div 的背景渲染为红色。
任何想法是什么导致 Angular 忽略这样的样式属性?
javascript - 为什么prism.js通过将语言类插入到周围来修改DOM标签?
当我有这样嵌套的代码时(直接取自 prism 的首页),language-css
当我在浏览器中检查 DOM 时,pre 标记也会获取类。这是我编写的代码:
当我在浏览器中检查它时,它是这样的:
我的示例略有不同(与 CSS 不同的语言),但元素的结构对我来说非常接近<pre><code/><textarea/></pre>
如果我 1)删除 index.html 中的 prism.js 行(从而删除 prism.js 功能)或 2)从标签中删除类(<code>
也删除此示例的功能),当我在 Firefox 中检查它。<pre>
language-css
javascript - 如何让语法突出显示在文本编辑器 iframe 中工作?(JavaScript,CSS)
我正在使用 iframe 作为编辑器构建文本编辑器。
我正在处理一个菜单项,当单击该菜单项时,允许用户编写一段代码,然后使用 Prism 语法高亮显示样式,并与其余文本内容一起添加到 iframe 中。
在构建普通网页时,任何包含在 pre 和 code 标签中的代码都会立即被设置为如下所示:
我的问题是我找不到让 Prism 语法荧光笔在我的文本编辑器 iframe 中工作的方法(任何语法荧光笔都会有同样的问题)。
prism.css 文件可以在 iframe 中工作,但 prism.js 文件不能。我知道这是因为当函数运行时,javascript 文件尚未处理输出,该文件添加了使用 css 文件更改颜色所需的类:
此图像显示了单击菜单项时发生的情况。html 被插入到 iframe 中,但没有任何样式。然后,当您按下预览按钮查看博客文章的外观时,代码块文本未应用任何样式,因为 prism.js 未在 iframe 内运行。
我已经尝试将脚本包含在 iframe 本身的 head 标签中,并带有“allow-scripts”和“allow-cross-origin”类,但这不起作用。
我真的很感激任何想法或解决方案。
这是我的代码:
HTML:
JavaScript(单击“”菜单项时调用的函数):
angular - 重新加载 PrimeJS 突出显示的代码 Angular 应用程序
我有下一个问题.. 我有一个 Angular 4+ 应用程序,我正在使用 PrimeJS 来处理语法突出显示(我按照 Tero 的教程https://auralinna.blog/post/2017/code-syntax-highlighting-with-angular -and-prismjs)。我遇到的问题如下:
在我的组件模板中,我有下一个代码:
如您所见,我正在根据组件中的某些条件进行绑定以处理不同的代码和格式。由于某些原因,当text
和languageClass
属性更改时,它不会反映在模板上。突出显示的代码卡在组件中设置的第一个值上。知道如何解决这个问题吗?谢谢