【问题标题】:Is that possible to execute a function just after reload...?是否可以在重新加载后执行功能......?
【发布时间】:2016-02-18 05:32:12
【问题描述】:

我有一套代码

setTimeout(function() {
   window.location.reload(true);
   if ($scope.attribute.parentAttribute.id) {
       angular.element(document.getElementById($scope.attribute.parentAttribute.id)).click();
   }
}, 1000);

我正在使用超时,我需要在 window.location.reload(true); reload 之后执行该单击功能,因为这行导致。有可能吗?

【问题讨论】:

  • 不,您在触发点击之前正在重新加载页面
  • 是的,在本地存储中设置一个标志,然后重新加载,然后从 onload 或 DOM 就绪处理程序测试该标志并从那里触发点击。
  • 您需要在加载事件中执行此操作。
  • 有谁能演示一下吗?

标签: javascript jquery angularjs


【解决方案1】:

在此处定义 onload 事件的处理程序。这将在页面加载后触发(重新加载也不例外):

object.onload=function(){myScript}; //in this case object = window

来源:http://www.w3schools.com/jsref/event_onload.asp

【讨论】:

    【解决方案2】:

    您可以从起始正文标签调用onload 方法:

    <body onload="myFunction()">
    

    【讨论】:

      【解决方案3】:

      好吧,一旦你打电话给window.location.reload(true); 然后 1.您的页面将刷新/重新加载。 2.所有的javascript都会在页面上重新加载。 3. 所有的触发器或回调都将被销毁/取消。

      所以简而言之,在重新加载调用后没有办法调用函数。

      您所能做的就是在页面加载时调用一个函数,如下所示。

      $(function(){
        // this will be executed first when page loads.
      });
      

      但是这里有一个小故障,这将在页面加载时执行该功能。

      【讨论】:

        【解决方案4】:
        $window.onload = function() {
          /*do your thing*/
        };
        

        您需要将 $window 注入您的控制器或运行等

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-07-01
          • 2010-12-20
          • 2012-01-19
          • 2018-12-24
          • 2012-08-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多