Como posso fazer um bloco de código em uma tag personalizado somente executar a primeira vez que a tag é chamada?

StackOverflow https://stackoverflow.com/questions/731599

  •  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.

marcas

personalizados têm construído em um espaço chamado thistag.

Este código irá funcionar:

<cfif thisTag.ExecutionMode eq "start">
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top