4

我在我的页面上使用 jQuery。但是,我不会在每个页面上都使用 RichFaces 标记。随后,RF 不会在每个页面中注入 jQuery。为了避免加载额外的 jQuery 库,如何正确指示 RichFaces 加载其 jQuery 自己的库?

这是一个问题,因为 RF-jQuery 库会覆盖我加载的自定义 jQuery。此外,RF-jQuery 库始终是最后加载的库,这也不好,因为我需要在加载 jQuery 库jquery-ui.js之后jquery-migrate-1.2.1.min.js加载。

<head>
    <!-- JS -->
    <span id="out">
        Richfaces-jQuery enforce with a4j:outputPanel
    </span>

    <script src="/ccms/resources/js/jquery-ui.js"></script>
    <script src="/ccms/resources/js/jquery-migrate-1.2.1.min.js"></script>

    <!-- The CK editor -->
    <script src="/ccms/resources/ckeditor_4_2_custom/ckeditor.js"></script>
    <script src="/ccms/resources/js/jquery.capty.min.js"></script>

    <!-- &lt;ui:debug hotkey=&quot;x&quot; /&gt; -->
    <script type="text/javascript" src="/ccms/javax.faces.resource/jsf.js.jsf?ln=javax.faces&amp;stage=Development"></script>
    <script type="text/javascript" src="/ccms/org.richfaces.resources/javax.faces.resource/org.richfaces.staticResource/4.3.3.Final/Packed/jquery.js"></script>
    <script type="text/javascript" src="/ccms/org.richfaces.resources/javax.faces.resource/org.richfaces.staticResource/4.3.3.Final/Packed/packed/packed.js"></script>
    <link type="text/css" rel="stylesheet" href="/ccms/org.richfaces.resources/javax.faces.resource/org.richfaces.staticResource/4.3.3.Final/Packed/DEFAULT/packed/packed.css" />
</head>
4

4 回答 4

6

RichFaces 4.x 捆绑的 jQuery 可用如下:

<h:outputScript name="jquery.js" />

是的,令人惊讶的是没有任何图书馆

您只需要确保使用<h:head>而不是<head>. 我也强烈建议你也加载你自己的 JS 资源<h:outputScript>

于 2013-09-03T11:41:06.083 回答
2

您可以通过添加这个来强制加载 JQuery(适用于 RichFaces 3.x):

<a4j:loadScript src="resource://jquery.js" />

对于 RichFaces 4.x,请参阅此线程:RichFaces 4 replacement for <a4j:loadScript>

于 2013-09-03T08:50:04.363 回答
0

If your h:outputScript instruction is not inside of h:head, add target="head" parameter to make sure the library is included only once:

<h:outputScript name="jquery.js" target="head"/>
于 2013-09-05T10:19:11.633 回答
0

RichFaces 4.5 最终将他们的 JavaScript 代码放入了一个库中,因此要包含他们的 jQuery 副本,您需要使用

<h:outputScript name="jquery.js" library="org.richfaces" />
于 2021-10-27T21:01:37.890 回答