我有以下的primefaces编辑器代码,除了IE 11之外的所有浏览器都可以正常工作。在IE 11中,文本格式化工具栏在加载时显示为禁用。知道怎么纠正吗?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<h1>Hello World PrimeFaces</h1>
<h:form>
<p:editor value="#{editor.value}" />
</h:form>
</h:body>
</html>
我尝试的事情:p:editor visible in chrome but not rendered properly in IE
中给出的解决方案答案 0 :(得分:2)
答案 1 :(得分:1)
为什么不用PrimeFaces Extensions CKEditor替换PrimeFaces编辑器?
它有许多丰富的功能,而不是PrimeFaces编辑器。 我测试过showcase,它也有IE支持。
使用入门指南here
答案 2 :(得分:1)
我尝试了上面给出的不同选项。实际的选择是模拟较低的IE版本或用另一个编辑器替换编辑器,具体取决于您正在开发的应用程序的性质。
选项1。模拟11以外的IE版本。<p:editor>
呈现正常,直到IE10。所以,emulateIE10会做的。这可以通过添加以下元标记来完成:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10" />
以下SO链接详细解释了这一点 - What does <meta http-equiv="X-UA-Compatible" content="IE=edge"> do?
如果您的编辑器作为复合组件的一部分包含在内,则可以在xhtml的<head>
部分中使用facet标记进行资源排序,如下所示:
<f:facet name="first">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10" />
</f:facet>
这将确保标记将在呈现复合组件的页面的开头呈现。这是帮助 - http://blog.primefaces.org/?p=1433
但是,由于某些应用程序依赖性,我无法使用此选项。
选项2:使用替代方案。 ckeditor 在IE11中渲染得很好。以下代码段对我有用:
<h:form>
<pe:ckEditor id="editor" value="#{editorBean.text}">
</pe:ckEditor>
</h:form>
<p:commandButton value="Save" process="@form" action="#{editorBean.saveListener}"/>
必须安装Primefaces扩展程序才能使用<pe:ckEditor>
标记,如 - https://github.com/primefaces-extensions/primefaces-extensions.github.com/wiki/Getting-Started。
答案 3 :(得分:0)
尝试在头部添加以下标记: -
<meta http-equiv="X-UA-Compatible" content="EmulateIE8"/>
答案 4 :(得分:0)
IE11具有IE8,IE9的内置兼容性,可以进行调整。 Makeing JSF compatible in IE9,10,11