Socket Js Not Works Inside Onload Method
Solution 1:
The reason your code doesn't work is because in your first code var chatSocketSender1 creates a "global" variable (that's defined at the window level) that you later reference as window("chatSocketSender1"), but in the second code, var chatSocketSender1 is scoped to the anonymous event handler function, so is not available as window("chatSocketSender1").
Put another way:
<script>var x = 1;
functionfoo() {
console.log(x)
}
</script>works fine, but
<script>functionfoo() {
var x = 1;
}
foo();
console.log(x);
</script>will give an undefined variable error as x only exists inside foo. This isn't exactly what you've done, but is essentially the same concept.
Now, if your code was:
chatSocketSender1.send(
then it would have worked fine as your variable chatSocketSender1 is defined within the function() { onload event callback.
or instead of
var chatSocketSender1 =
you could do
window.chatSocketSender1 =
to define the variable globally, or you could:
<script>var chatSocketSender1 = newWebSocket(...
functionsend() { ... }
$(window).on('load', function () {
document.querySelector('#send_button').onclick = ...
as you generally only need the event binding within the onload.
Post a Comment for "Socket Js Not Works Inside Onload Method"