Como posso fazer um bloco de código em uma tag personalizado somente executar a primeira vez que a tag é chamada?
-
06-09-2019 - |
Pergunta
Estou criando um conjunto de tags personalizados ColdFusion projetados para tornar a reutilização de certos elementos de layout fácil. Vou usá-los de uma maneira semelhante ao seguinte:
<cfimport prefix="layout" taglib="commonfunctions/layouttags">
<layout:fadingbox>
This text will fade in and out
</layout:fadingbox>
<layout:stockticker>
This text will scroll across the screen
</layout>
Para que o código estas tags personalizados gera ao trabalho, que precisa de um arquivo JavaScript para ser ligado na página assim:
<script src="commonfunctions/layouttags/enablingscript.js" type="text/javascript"></script>
Eu prefiro incluir o script de dentro das tags personalizadas, em vez de fazer o usuário incluí-lo ele mesmo. A questão é que o arquivo JavaScript só deve ser incluído uma vez por página. Após o primeiro tempo dessas marcas personalizadas é usado, eu gostaria chamadas subsequentes para o mesmo tag na mesma página para evitar a repetição da tag
Outras dicas
Use o escopo da solicitação.
personalizados têm construído em um espaço chamado thistag.
Este código irá funcionar:
<cfif thisTag.ExecutionMode eq "start">