【问题标题】:window.focus() only when source changeswindow.focus() 仅在源更改时
【发布时间】:2013-08-06 14:25:11
【问题描述】:

我有一个桌面小工具,它会定期将网络文件夹中的 html 文件加载到其中。存在间隔,以便在更新源时,小工具会自动更新。如果源内容发生变化,我希望小工具能够获得焦点。如果我添加 myGadget.focus();在脚本的底部,小工具每隔一段时间就会出现在前面。如果 source.html 文件上的修改日期发生更改,我该如何执行此操作?或表明文件已被修改的文件的任何其他属性。这是我的代码:

<script type="text/javascript">
        var t=null;
        var interval=60000;
        function refreshFrame(){
            document.all.myGadget.src="\\\\network folder\\source.html";
            t=setTimeout(refreshFrame,interval);
        }
</script>

【问题讨论】:

  • 嗯,如果你想多次执行你的函数,你应该使用“document.setInterval()”而不是“document.setTimeout()”。另一件事是,你的休息条件在哪里?
  • 谢谢。我不是 Java 程序员,因此不胜感激。加载源文件时出错的中断条件是什么?我将不胜感激。
  • 第 1 次:Java != Javascript 第 2 次:您已经生成了一个无限循环。如果您不需要更多代码,那很好。
  • 谢谢。抱歉,我的意思是 Javascript。我将不胜感激错误处理程序的帮助。如果找不到文件,我想显示一条消息,例如“找不到源文件”。

标签: javascript windows windows-desktop-gadgets


【解决方案1】:

这可能不是最有效的方法,但您可以依靠内容更改的事实来了解文件是否已更改。

您可以简单地存储框架文档的innerHTML 值,并将新加载的内容与上次加载的内容进行比较。

【讨论】:

  • 谢谢。不知道该怎么做。如果您知道,请协助或指出正确的方向。
  • 我阅读了innerHTML。我想这样做的一种方法是删除 setInterval() 循环并在我的小工具中放置一个“刷新”按钮,如果新内容发生更改,它将加载新内容。谢谢。我学到了一些新东西。我的偏好是自动更新内容并仅在内容发生更改时将其置于顶部。
猜你喜欢
  • 2015-12-13
  • 2017-08-12
  • 1970-01-01
  • 1970-01-01
  • 2015-10-08
  • 2017-11-29
  • 2021-04-21
  • 2015-01-02
  • 1970-01-01
相关资源
最近更新 更多