在 CFML 输出缓冲区中搜索字符串

在 cfml 输出缓冲区中搜索字符串

在大约 10 年前的一个项目中,我们从受信任的第三方获取 HTML 片段以包含在网站上。 我们偶尔会在后台获取内容并更新网页,而不是使用 iFrame 或合并 ajax(这可能会对我们的 SEO 产生负面影响)。虽然这种方法工作得很好,但有时片段会包含一些内联 JavaScript,但由于未加载 JavaScript 库而无法工作......或者如果在 HTML 片段中加载会导致问题,因为现在 JS 库正在加载多次。

为了解决这个问题,我们编写了一些代码来检查现有的 java 输出缓冲区以确定字符串是否存在。 例如,如果 HTML 片段使用 jQuery,我们将使用 streamFind("jquery-") 来识别 jQuery JS 库是否已包含在输出流中。 UDF 返回一个布尔响应,如果返回 false,我们将包含脚本标记来加载 jQuery JavaScript 库。

我们已经使用这个 UDF 多年了,没有遇到任何问题,而且它非常有用。它与 Adob​​e ColdFusion、Railo 和 Lucee CFML 兼容。享受吧!

源代码

https://gist.github.com/JamoCA/3f5f041f2ca5bc0a5358597a5d78c91f

以上就是在 CFML 输出缓冲区中搜索字符串的详细内容,更多请关注其它相关文章!