当我输入
<font> test </font>
编辑:请不要只是建议不要使用字体标记,请阅读整个问题。这个字体标签是由wysiwyg编辑器summernote生成的,所以不是我选择使用它。
奇怪的是,我在页面源中看到了这个标记,但它没有在页面上呈现。当我使用相同的源创建本地html文件时 - 它会在Chrome中的字体标记内显示文本。 此外,当我转到开发人员工具元素并单击容器div以编辑为html时,如果我在任何地方添加任何内容,则会突然显示所有字体标记。 Firefox中的行为完全相同。如果我不在编辑器中编辑页面,无论我刷新多少次都不显示字体标签。
这是我的刀片文件:
@extends('layouts.app')
@section('content')
<font> test </font>
<p> <a href="/articles"><-Back</a></p>
<p> Selected article: {{$article->title}} </p>
<p> Description: {{$article->description}} </p>
<p><img src="/{{$article->image}}" width="600px" alt="ASD"></p>
<font> ojo </font>
{!! $article->body !!}
<p>ge?</p>
@stop
答案 0 :(得分:1)
HTML 4.01中不推荐使用<font></font>
,同时仅限与样式相关的所有元素,然后在HTML5中废弃。
这与laravel无关。
<font>
元素的前一种行为可以实现,甚至可以使用CSS Fonts CSS属性更好地控制
See more information on <font>
here.
修改强>
我的问题出错,http://summernote.org/正在生成<font>
标记。您可以在每次输入summernote时替换它。像这样:
(可能需要一些调整)
//some dynamic elements have to be triggered from the body
$body = $(document.body);
//container where font excists
$container = $('.container')
//less code to type
function observe(element, event, handler) {
$body.on(event, element, handler)
}
//delay 0 to speed up
function delay_func() {
window.setTimeout(font_to_span(), 0);
}
//replace font tags with span and extract the font family
function font_to_span() {
$font = $container.find('font');
font_family = $font.attr('face');
$font.replaceWith(function() {
return $("<span />", {
html: $(this).html(),
style: 'font-family:' + font_family + ';'
});
});
}
//add events to trigger font finder_to_span on
observe($container, 'change', font_to_span);
observe($container, 'cut', delay_func);
observe($container, 'paste', delay_func);
observe($container, 'drop', delay_func);
observe($container, 'keydown', delay_func);
font_to_span();
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<div class="container">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce feugiat, sapien sed tempor dignissim, mi metus tempor enim, <font face="Comic Sans MS">a vestibulum nulla tortor</font> posuere tellus. Etiam eu dolor ut dui viverra dictum non non justo. Duis
blandit in enim vitae mollis. Integer euismod lectus ut turpis fermentum, eget rutrum urna ornare.</div>
答案 1 :(得分:1)
我发现造成这种行为的原因,我之前应该已经意识到,如果它看起来像魔术 - 它的javascript。
因此,在基本的Laravel 5.3刀片页面中,我们在源代码中有字体标记,我们可以在前端的页面源中看到它,但它们在页面上不可见。原因是因为Laravel 5.3默认包含Vue javascript框架,包括包含Vue的app.js,它在文档加载时运行一些Vue魔法,因此字体标签因某些原因被隐藏 - 可能与被弃用有关。
我暂时从我的Laravel应用程序中删除了Vue(通过删除包含它的js代码)并返回字体标记。