如何确保脚本运行一次且只运行一次

     2023-02-24     49

关键词:

【中文标题】如何确保脚本运行一次且只运行一次【英文标题】:How to make sure a script runs once and only once 【发布时间】:2012-01-08 15:57:33 【问题描述】:

我正在编写一个小部件模板,它将包含在安装它的页面中。

一个人可能会在一个页面中安装多个相同类型的小部件,因此我的模板可能会被多次包含。

现在我写了一些JavaScript 来初始化小部件,你知道,点击和悬停。

我的问题是这些<script>s 会被多次执行,例如,当我点击某个东西时,有界函数会被执行多次。

解决这个问题的最佳方法是什么?

编辑: 顺便说一句,我正在使用Mako 模板引擎,并且我尝试使用c 变量来存储布尔标志,但似乎c 每次都会被覆盖。

【问题讨论】:

在线包含<script>标签一次?!或设置一个标志以检查其何时运行,如果已设置标志则不运行它(cookie / global var) 见***.com/questions/3678628/… 【参考方案1】:

与 C 中用于防止头文件被多次包含的解决方案类似的解决方案怎么样?

例如,在“example.html”文件中,您可以将代码包装在这样的 if 语句中:

<script type=text/javascript>
    if (!window._EXAMPLE_HTML_) 
        window._EXAMPLE_HTML_ = true;
        // your code goes here
    
</script>

【讨论】:

我不知道如何使用我的模板引擎在included templates 之间共享一个变量:( @Satoru.Logic 全局变量属于浏览器而不是脚本 - 所以它无处不在 顺便说一句:将 EXAMPLE_HTML 添加到窗口对象并不是最好的样式。最好在某处创建另一个全局对象并使用它。 如果不是window,全局对象的作用域是什么? 没错,它是window的一个属性,所以如果你只需要一个变量,这个例子就可以了。但是,如果您需要多个变量名,则使用 window._INCLUDES_.EXAMPLEONE_HTMLwindow._INCLUDES_.EXAMPLETWO_HTML 之类的东西会更干净一些,因为这不会污染全局范围,变量名超出必要范围...

PHP锁定/确保给定脚本在任何给定时间只运行一次

】PHP锁定/确保给定脚本在任何给定时间只运行一次【英文标题】:PHPlocking/makingsureagivenscriptisonlyrunningonceatanygiventime【发布时间】:2012-01-3116:55:54【问题描述】:我正在尝试编写一个PHP脚本,我想确保它在任何给定时间都只有一... 查看详情

如何确保我的 bash 脚本尚未运行?

】如何确保我的bash脚本尚未运行?【英文标题】:HowdoImakesuremybashscriptisn\'talreadyrunning?【发布时间】:2010-11-2906:49:00【问题描述】:我有一个bash脚本,我想从cron每5分钟运行一次...但有可能该脚本的上一次运行尚未完成...在这种... 查看详情

如何确保我的 Apache Spark 设置代码只运行一次?

】如何确保我的ApacheSpark设置代码只运行一次?【英文标题】:HowdoIensurethatmyApacheSparksetupcoderunsonlyonce?【发布时间】:2019-11-1415:16:30【问题描述】:我正在使用Scala编写一个Spark作业,它读取S3上的parquet文件,进行一些简单的转换... 查看详情

如何在 Elastic Beanstalk 上启动时运行一次 python 脚本

】如何在ElasticBeanstalk上启动时运行一次python脚本【英文标题】:HowdoIrunapythonscriptonceatstartuponElasticBeanstalk【发布时间】:2017-03-1507:49:48【问题描述】:我想在EB实例上“无限期地”运行python脚本,一旦部署就会​​自动运行(我... 查看详情

如何仅在代码第一次运行时在 python 中运行函数?

】如何仅在代码第一次运行时在python中运行函数?【英文标题】:Howtorunafunctioninpythononlyfirsttimethecodeisrunning?【发布时间】:2021-11-2202:45:49【问题描述】:我编写了一个函数来安装运行脚本所需的模块。我的问题是每次脚本运行... 查看详情

cronjob里面,如何让脚本半分钟运行一次?

cronjob里面,如何让脚本半分钟运行一次?cron本身实现不了。但可以借助于sleep命令实现。解决方法:两个脚本一个正常,一个增加sleep30crontab设置同时启动在有的shell(比如linux中的bash)中sleep支持睡眠(分,小时)sleep可以用来... 查看详情

新知识添加·欧拉回路+欧拉路径

§概念欧拉通路:通过图中每条边且只通过一次,并且经过每一顶点的通路;欧拉回路:通过图中每条边且只通过一次,并且经过每一顶点的回路;欧拉环:图中经过每条边一次且仅一次的环;欧拉路径:图中经过每条边一次且仅... 查看详情

使用任务调度程序每 4 小时运行一次脚本

...Windows任务计划程序中,我只能每天或每小时安排一次,如何将其配置为每4小时运行一次?【问题讨论】:【参考方案1】:在Wind 查看详情

如何从 0 分钟以外的时间开始每 5 分钟运行一次 cron 作业?

】如何从0分钟以外的时间开始每5分钟运行一次cron作业?【英文标题】:HowcanIrunacronjobevery5minutesstartingfromatimeotherthan0minutes?【发布时间】:2013-04-1206:03:07【问题描述】:我想让脚本每5分钟运行一次,假设从13:02开始,这样我可以... 查看详情

Flutter-如何一次且仅一次渲染listview.builder中的所有项目

】Flutter-如何一次且仅一次渲染listview.builder中的所有项目【英文标题】:Flutter-Howtorenderallitemsinthelistview.builderatonceandonlyonce【发布时间】:2021-12-3111:24:00【问题描述】:我在listview.builder中出现颤振问题,它只渲染显示的项目,而... 查看详情

如何限制部署后脚本在 Visual Studio 数据库项目中仅运行一次

】如何限制部署后脚本在VisualStudio数据库项目中仅运行一次【英文标题】:HowtolimitpostdeploymentscripttorunonlyonceinVisualStudiodatabaseproject【发布时间】:2012-10-0503:58:03【问题描述】:我们的VisualStudio数据库项目中有一个部署后脚本。它... 查看详情

在 SLES 12 中仅在第一次 root 登录时运行脚本

...。另外,我不希望任何非root用户运行此脚本。有人对我如何做到这一点有任何想法吗?提前致谢。【问题讨论】:【 查看详情

如何使一行代码在循环中运行一次,并且只运行下一行代码,直到前一行运行一次?

】如何使一行代码在循环中运行一次,并且只运行下一行代码,直到前一行运行一次?【英文标题】:HowcanImakeasinglelinetocodetorunonceinaloopandonlyrunthenextlineofcodeuntiltheprevioushasranonce?【发布时间】:2019-10-3114:42:57【问题描述】:脚本... 查看详情

如何每 20 秒执行一次 bash 脚本? ,好用睡眠和循环?

】如何每20秒执行一次bash脚本?,好用睡眠和循环?【英文标题】:howtoexecuteabashscriptevery20seconds?,goodusesleepandaloop?【发布时间】:2021-06-2713:55:18【问题描述】:我现在在cron中每分钟运行一个脚本,我想让它每20秒运行一次另一方... 查看详情

如何安排 python 脚本从 anaconda 运行?

】如何安排python脚本从anaconda运行?【英文标题】:Howtoschedulepythonscriptrunfromanaconda?【发布时间】:2021-12-1411:30:07【问题描述】:我希望每20分钟从anaconda提示符运行一次python脚本。即我想要命令:pythonscript.py--argumentarg每二十分钟... 查看详情

如何在 React hooks 和 redux 中只获取一次且不再获取数据

】如何在Reacthooks和redux中只获取一次且不再获取数据【英文标题】:Howtofetchdataonlyonceandneveragaininreacthooksandredux【发布时间】:2021-09-1516:10:41【问题描述】:请问,在使用ReactHooks在React组件中来回移动时,我如何只获取一次数据... 查看详情

如何限制一个脚本可以运行某段代码的副本数?

】如何限制一个脚本可以运行某段代码的副本数?【英文标题】:Howtorestrictthenumberofcopiesofascriptcanrunacertainblockofcode?【发布时间】:2017-03-1200:04:29【问题描述】:我使用lockfile来确保一段代码一次只能运行一个。如果我想同时运... 查看详情

如何每 X 分钟运行一次 cronjob?

】如何每X分钟运行一次cronjob?【英文标题】:HowtorunacronjobeveryXminutes?【发布时间】:2014-11-0215:15:30【问题描述】:我在cronjob中运行PHP脚本,我想每5分钟发送一次电子邮件我当前的(crontab)cronjob:10****/usr/bin/php/mydomain.in/cromail.... 查看详情