سؤال

OK so I couldn't find an answer for this one, I am trying to open a window, execute a command once it's loaded, and then modify it's DOM from the main window. Here's my sample code:

var window = window.open('empty.html',{
    "position": "center",
    "focus": true,
    "toolbar": false,
    "frame": true
  });
...
window.on("loaded",function() {
...

It doesn't fire. when I tried

var a_window = window.open('empty.html',{
  "position": "center",
  "focus": true,
  "toolbar": false,
  "frame": true
});
a_window = gui.Window.get(a_window);
...
a_window.on("loaded",function() {
...

but here it doesn't even open the window! (No I don't have a hide() function inside the callback) also, no error is thrown. Any help?

هل كانت مفيدة؟

المحلول

Try and see if this shouldn't do the trick, it did for me:

var a_window = window.open('empty.html',{
  "position": "center",
  "focus": true,
  "toolbar": false,
  "frame": true
});
onload = function() {
    alert('Help it\'s loaded!');
};

Just so you know, I think the onload triggers for every window, so remember to unset it when you don't need it:

onload = null;

You can also try this for the individual window:

a_window.onload = function() {
    alert('Help it\'s loaded!');
};

نصائح أخرى

nw.Window.open callsback the third argument with the opened window. nw.Window.get takes the DOM window as an argument.

nw.Window.open('empty.html',{},win=>win.on('loaded', () =>someFunction(nw.Window.get(win.window))));
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top