Code Monkey home page Code Monkey logo

Comments (7)

jinzhongjia avatar jinzhongjia commented on September 24, 2024

Are you referring to the error that the websocket is not connected yet?

from webui.

jinzhongjia avatar jinzhongjia commented on September 24, 2024

ws needs to wait for the connection, and executing it immediately or onload will cause an error
Maybe the later js library can add an event queue and execute it after the ws connection is established.
@hassandraga

from webui.

sdicker8 avatar sdicker8 commented on September 24, 2024

Sorry - two different errors - yes, with window.onload i'm getting websocket is not connected and with the script at the end of the html doc i'm getting uncaught referenceerror: <function_name> is not defined.

I'm trying to populate the html page with data from a local sqlite database when the app starts - it would be nice if that could happen as quickly as possible - thanks -

from webui.

jinzhongjia avatar jinzhongjia commented on September 24, 2024

The second mistake you meet is "Uncaught ReferenceError: webui is not defined at...." right?

This is related to the rendering process of the browser. By default, the inline script in HTML will be executed immediately after the HTML is loaded, but webui.js has not been executed yet, which results in the webui variable not being available in the global scope.

from webui.

jinzhongjia avatar jinzhongjia commented on September 24, 2024

you can use defer for <script>, note that this is only valid for external js files, and the execution order of these js files maintains their relative order, just like a regular script

from webui.

AlbertShown avatar AlbertShown commented on September 24, 2024

This is fixed in a commit, it's available in the nightly build.
More info in this discussion.

document.addEventListener('DOMContentLoaded', function() {
	// DOM is loaded, and `webui` object should be available.
	webui.setEventCallback((e) => {
		if (e == webui.event.CONNECTED) {
			// Connection to the backend is established
			console.log('Connected.');
		} else if (e == webui.event.DISCONNECTED) {
			// Connection to the backend is lost
			console.log('Disconnected.');
		}
	});
});

from webui.

sdicker8 avatar sdicker8 commented on September 24, 2024

@jinzhongjia - if using webui.call then yes, webui is not defined -- i was using the function name. i see now that webui isn't loaded until DOMContentLoaded so this all makes sense. i guess there is no way to establish the bridge before before the page/body is loaded...

@AlbertShown - thanks -- i'll check that out. I guess your event listener must fire right after the one referenced above -

from webui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.