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ß!
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!