gpt4 book ai didi

javascript - 如何在 ? 中包含带有查询字符串的 JS 文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:21:27 25 4
gpt4 key购买 nike

在 JSF 页面中,我使用此代码来包含一个 JS 文件:

<h:outputScript library="js" name="reworkBase.js" />

它运行良好,但我想通过添加版本参数来实现缓存清除:

<h:outputScript library="js" name="reworkBase.js?version=1" />

但是会找不到JS文件。我知道如果我使用 <script type="text/javascript"> 它也能很好地工作标签。但是有什么办法可以用 <h:outputScript> 来实现吗?标签?

最佳答案

这是 Mojarra 中的一个错误。他们的 ScriptRenderer 符合 issue 1212修复以支持查询字符串。但是,对于指定了 library 的情况,他们的修复是错误的。他们使用 + 而不是 & 作为查询字符串参数分隔符,这只会导致 404:

<script src="/context/javax.faces.resource/reworkBase.js.xhtml?ln=js+version=1">

应该是:

<script src="/context/javax.faces.resource/reworkBase.js.xhtml?ln=js&amp;version=1">

我已将此错误报告为 issue 2168 .

与此同时,最好的办法是完全省略 library,鉴于 js 的库名称(显然代表“JavaScript”)你似乎没有对使用可配置的外观/脚本库感兴趣。

<h:outputScript name="js/reworkBase.js?version=1" />

这将生成正确的 URL。

<script src="/context/javax.faces.resource/js/reworkBase.js.xhtml?version=1">

关于javascript - 如何在 <h :outputScript>? 中包含带有查询字符串的 JS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7102695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com