标签: onload-event

有一个属性来确定是否加载了Form(和它的控件)?

我想澄清一下,我已经知道如何通过设置布尔变量标志(例如:)dim FormIsLoaded as boolean并在表单事件True之后将其设置为来检查是否加载Load了表单,以限制[Enum].Parse导致异常的方法的使用在我的coden.

但这不是我要求的,这不是一个典型的问题,请继续阅读......


我有一个这样的事件处理程序:

''' <summary>
''' Indicates the resulting Batch command redirection.
''' </summary>
Private CommandRedirection As Reg2Bat.CommandRedirection = 
        Reg2Bat.CommandRedirection.Standard

Private Sub KryptonRadioButton_CommandRedirections_CheckedChanged(sender As Object, e As EventArgs) Handles _
        KryptonRadioButton_CommandRedirection_Standard.CheckedChanged,
        KryptonRadioButton_CommandRedirection_Error.CheckedChanged,
        KryptonRadioButton_CommandRedirection_All.CheckedChanged,
        KryptonRadioButton_CommandRedirection_None.CheckedChanged

    If CBool(sender.checked) Then
        CommandRedirection = [Enum].Parse(GetType(CMD.CommandRedirection), 
                                          CStr(sender.tag), True)
    End If

End Sub
Run Code Online (Sandbox Code Playgroud)

但是If它给了我一个类型的错误,An unhandled exception of type 'System.InvalidOperationException' occurred in Program.exe我确定发生错误是因为在事件处理程序尝试访问控件的值之前表单没有完全加载.

堆栈跟踪:

en System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult) …
Run Code Online (Sandbox Code Playgroud)

.net vb.net onload-event visual-studio winforms

5
推荐指数
1
解决办法
931
查看次数

自定义 PWA 版本管理

一般可以获取 pwa 应用程序的 onload 事件。我的意思是我们已经实现了自定义版本控制逻辑,以便根据数据库字段保持应用程序版本。(即清除 Service Worker 缓存)。这里的问题是逻辑几乎可以工作,但是当数据库中更新了新版本时,我们需要清除相应浏览器的缓存以触发更新。在更多调查中,我发现当 pwa 应用程序打开时,它会保留某种缓存图像,再次重新打开 pwa 应用程序不会触发应用程序的启动代码,而是从缓存加载应用程序。

那么是否有可能为 pwa 获得 onload 类型的事件?

出于测试目的,我在应用程序组件中添加了一些 alert(),但在重新打开 pwa 应用程序时没有触发

this.httpService.GetAppVersion(ver).subscribe(
        res => {
          if (res != null || res !== undefined) {
            this.version = res.versionNumber;
            ver = localStorage.getItem("appVersion");
            if (ver === null || ver === undefined) {
              localStorage.setItem("appVersion", "1.0");
              ver = "1.0";
            }

            let localVersion = ver.split(".");
            let incomingVersion = this.version.split(".");
            let result = this.helperService.compareVersion(
              localVersion,
              incomingVersion
            );
            //alert("result : " + result);
            if (result === 1) { …
Run Code Online (Sandbox Code Playgroud)

versioning onload-event progressive-web-apps angular7

5
推荐指数
1
解决办法
735
查看次数

React Native Webview OnLoad 被调用两次

React Native webview onLoad(), onLoadStart(), onLoadEnd() 都被调用了两次

在下面找到我的代码

<WebView
  source={{
    uri,
  }}
  // eslint-disable-next-line no-return-assign
  ref={ref => (this.webview = ref)}
  startInLoadingState
  style={{ marginTop: 0, flex: 1 }}
  renderLoading={() => this.displaySpinner()}
  javaScriptEnabled
  geolocationEnabled
  injectedJavaScript={setTimeoutInjection}
  onLoad={() => this.pageLoadEnd(renderTime)}
  onLoadStart={() => {
    Alert.alert('On load event', `Loading time : ${Date.now() - renderTime}`)
  }}
  onLoadEnd={() => {
    Alert.alert('On load event End', `Loading time : ${Date.now() - renderTime}`)
  }}
  sharedCookiesEnabled
  useWebKit
  onNavigationStateChange={this._onNavigationStateChange.bind(this)}
/>
Run Code Online (Sandbox Code Playgroud)

我应该更改什么以便 onload() 事件仅被调用一次?

webview onload-event react-native

5
推荐指数
1
解决办法
4151
查看次数

内联事件处理程序和匿名函数

我需要在页面中动态包含和运行脚本.我正在使用图像onload事件:

<img src="blank.gif" onload="DoIt" />
Run Code Online (Sandbox Code Playgroud)

DoIt函数看起来像这样(只是这个例子):

this.onload=' ';this.src='image.jpg';
Run Code Online (Sandbox Code Playgroud)

我无法控制页面本身(我只控制页面将调用的HTML字符串),因此我需要在标记中明确包含DoIt函数.

我尝试使用匿名函数,但它不起作用:

<img src="blank.gif" onload="function(){this.onload=' ';this.src='image.jpg';}" />
Run Code Online (Sandbox Code Playgroud)

我应该只是内联编写脚本,如下所示:

<img src="blank.gif" onload="this.onload=' ';this.src='image.jpg';" />
Run Code Online (Sandbox Code Playgroud)

在这种情况下是否有任何限制(例如脚本长度)?

谢谢你的帮助!

javascript inline event-handling onload-event

4
推荐指数
2
解决办法
3万
查看次数

OnLoadEnd从Chromum Embedded Framework多次调用

使用CEF浏览器我尝试挂钩OnLoadEnd事件以遍历DOM树.

由于一些奇怪的原因,我得到了两次VisitDom.

procedure TForm1.FormCreate(Sender: TObject);
begin
   FBrowser := TChromium.Create(Self);
   FBrowser.Parent := TWinControl(Self);
   FBrowser.OnLoadEnd := BrowserOnLoadEnd;
   FBrowser.Load('http://google.com');
end;

procedure VisitDom(const Document: ICefDomDocument);
begin
  ShowMessage(Document.Document.Name);
end;

procedure TForm1.BrowserOnLoadEnd(Sender: TObject;
  const Browser: ICefBrowser; const Frame: ICefFrame; HttpStatusCode: Integer;
  out Result: Boolean);
var
  Visitor: TCefFastDomVisitor;
begin
  if HttpStatusCode = 200 then
  begin
    Visitor := TCefFastDomVisitor.Create(VisitDom);
    FBrowser.Browser.MainFrame.VisitDom(Visitor);
  end;
end;
Run Code Online (Sandbox Code Playgroud)

知道为什么多次调用OnLoadEnd?

delphi chromium onload-event delphi-xe2 tchromium

4
推荐指数
1
解决办法
2742
查看次数

阻止网页加载直到JQuery AJAX调用完成?

我有一个遗留站点的要求,我无法重新设计屏幕,我不能使用标头无缓存标签,我必须防止用户在他们退出并按下他们的后退按钮后看到缓存的屏幕.

我差不多要解决了(见下面的代码位)

当页面加载时,我使用JQuery AJAX函数调用Web应用程序并查看用户是否仍然登录.如果没有,用户将被重定向到登录屏幕

<html>
<head>
 <!-- all the usual header stuff, plus links to the jQuery libaries, first script tag on page below -->

<script language = "javascript">

 $.get("/acme/confirm_authentication",function(data){
            if( data != "confirmed"){
                location.href = "logout";
            }
  }); 



</script>
</head>
<body>

blah blah blah
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我不喜欢这个解决方法的一件大事就是,在JQuery函数完成之前,我可以在瞬间完成内容.

有没有办法可以阻止页面加载/渲染,直到JQuery AJAX函数停止?

谢谢


更新:答案:


我修改了下面接受的答案,包括"cache:false"选项.在Firefox和Chrome中,通过后退按钮访问的页面的缓存副本将运行.ajax(),但会使用变量"data"的缓存副本,这会给我一个过时的答案.

$.ajax({
 url: "/acme/confirm_authentication",
 async:false,
 cache: false,
 success: function(data) {
     if( data != "confirmed"){
         location.href = "logout";
     }
 }         
Run Code Online (Sandbox Code Playgroud)

});

javascript ajax jquery onload-event

4
推荐指数
1
解决办法
1万
查看次数

$(document).ready(function() {中的jQuery运行函数

我在这里做错了什么?为什么writeQuestions不加载运行(不是onclick..)?

$(document).ready(function() {

$.getJSON("JavaScript/questions.json", function(data) {questions = data;});
    $("#start").one("click" , writeQuestions);
    writeQuestions();

 });
Run Code Online (Sandbox Code Playgroud)

(该.one()行在我的代码中被注释掉了)

当我这样做时:window.onload=writeQuestions;它工作正常..

jquery document-ready onload-event

2
推荐指数
1
解决办法
4526
查看次数

确定哪个JS文件/行正在修改页面上的元素

我需要确定哪个JS文件/行正在修改我页面上的元素.我想在这里找到一个大海捞针.例如,我正在挖掘35个.js文件,以找出哪个文件负责更改网页上的某些文本.这样一个简单的任务似乎太多了.

它可以使用jQuery或javascript以许多不同的方式更改它.方法未知.但它发生在页面加载上.

是否可以在Chrome(开发人员工具)中查看此信息?

javascript dom stack-trace onload-event

1
推荐指数
1
解决办法
1149
查看次数

放入外部 js 文件时 QuerySelectorAll 不起作用

当我输入这段代码时:

window.onload = function(){
    var inputs = document.querySelectorAll("input[type=text]");
    console.log(inputs.length);
    for(var j=0; j<inputs.length; j++){
        inputs[j].onclick = function(){
            this.style.width = "500px";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在 html 页面中,它工作得很好,但如果我将其放入外部 .js 文件中,for 循环永远不会启动,因为 input.length 等于 0,即使在调用脚本的页面中有大量输入。可能是什么问题呢?

更新:我发现代码在正常条件下可以工作,但事实并非如此:

  • 对于先前隐藏的 div 中包含的输入,然后通过 js 显示我的坏处,隐藏的输入是“电子邮件”类型
  • 在每个输入上,如果它们是通过 ajax 加载的,我发现了原因:因为该函数仅在窗口加载时被触发,所以它不会看到加载的输入

javascript onload onload-event selectors-api

1
推荐指数
1
解决办法
2941
查看次数

加载、加载、构造函数

从我读过的其他 SO 问题来看,似乎使用覆盖 onLoad 是一种更好的方法,而不是在构造函数中处理初始方法。

当我在代码中添加断点时,我发现 onLoad 方法正在被命中,但构造函数没有......这些发生的顺序是什么?

这对于自定义加载事件也是一样的

编辑:白痴是我的断点没有被击中的原因,但我仍然对何时调用加载覆盖有点困惑?

c# onload-event winforms

0
推荐指数
1
解决办法
2098
查看次数

onload事件抛出'对象预期'错误

每当我使用该事件时,我都会收到一个javascript错误,指出"Object expected"指向包含onload事件的行.这是我网页的简单表示.

<html>
<head>
  <script type='text/javascript' src='myScript.js'>
    //script containing doSomething()
  </script>
</head>
<body onload = "doSomething('stringArg', 0);"> //<--does not execute, throws error, EDITED for proper quotation

//body of site

<script type='text/javascript'>
  //test call
  doSomething('stringArg', 0); //<--executes just fine, no errors
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript onload-event

-1
推荐指数
1
解决办法
1883
查看次数