Heim  >  Artikel  >  Java  >  Durchsuchen des CFML-Ausgabepuffers nach einer Zeichenfolge

Durchsuchen des CFML-Ausgabepuffers nach einer Zeichenfolge

DDD
DDDOriginal
2024-09-13 10:15:02867Durchsuche

Searching the CFML Output Buffer for a String

In einem unserer Projekte vor etwa 10 Jahren holten wir HTML-Fragmente von einem vertrauenswürdigen Drittanbieter zur Einbindung in die Website. Anstatt einen iFrame zu verwenden oder Ajax zu integrieren, was sich negativ auf unsere SEO auswirken könnte, holten wir gelegentlich den Inhalt im Hintergrund ab und aktualisierten die Webseite. Obwohl dieser Ansatz gut funktionierte, gab es Zeiten, in denen die Fragmente etwas Inline-JavaScript enthielten, aber nicht funktionierten, weil die JavaScript-Bibliothek nicht geladen war ... oder wenn sie innerhalb des HTML-Fragments geladen wurden, würde es ein Problem verursachen, weil jetzt die JS-Bibliothek wird mehr als einmal geladen.

Um dies zu umgehen, haben wir Code geschrieben, der den vorhandenen Java-Ausgabepuffer überprüft, um festzustellen, ob eine Zeichenfolge vorhanden ist oder nicht. Wenn das HTML-Fragment beispielsweise jQuery verwendet, würden wir streamFind("jquery-") verwenden, um zu ermitteln, ob die jQuery-JS-Bibliothek bereits im Ausgabestream enthalten war. Die UDF gibt eine boolesche Antwort zurück und wir fügen Skript-Tags ein, um die jQuery-JavaScript-Bibliothek zu laden, wenn sie „false“ zurückgibt.

Wir verwenden dieses UDF seit vielen Jahren, hatten keine Probleme und es war äußerst nützlich. Es ist kompatibel mit Adobe ColdFusion, Railo und Lucee CFML. Viel Spaß!

Quellcode

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

Das obige ist der detaillierte Inhalt vonDurchsuchen des CFML-Ausgabepuffers nach einer Zeichenfolge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn