在IE 11中禁用了primefaces编辑器工具栏

时间:2013-11-27 16:22:57

标签: internet-explorer jsf primefaces editor

我有以下的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

中给出的解决方案

5 个答案:

答案 0 :(得分:2)

您可以使用 WYSIWYG 编辑器,例如TinyMCEckeditorRedactor,还有很多可与Facelets轻松集成的替代解决方案。

答案 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