Window.open(); doesn't work properly



  • Opening a popup window with javscript: window.open(), opens a new tab instead of a new window of a given size, like all the other browsers: IE, Chrome, Firefox, etc. Is this a bug or can the proper behavior be somehow enabled through a setting. Didn't see anything in settings. Why the unstandard behavior?



  • Opera 12 and earlier had the option of opening it in a tab or window, I presume that at some future point they will do the same.


  • Moderator

    You must be kidding me, you want it to open in a new window? I always thought that keep opening in new windows was the most stupid idea, why the hell we created tabs if it's to keep opening new windows? Even Chrome users are requesting to open in new tabs but are being ignored by Google. The only good reason to open in a new window is for the window to have the size the dev wanted, which id useless most of the time and was a strong point of Opera 12- MDI.



  • Your thinking is very narrow minded. Web sites can also be web apps. In fact more and more dekstop apps are being converted to web apps. Web apps usually have a much richer UI and are designed differently than sinple web sites like Facebook, YouTube, etc. Web apps tend to behave more like dekstop apps which frequently pop up numerous entry forms that often need to be smaller and not take up the entire browser space or block the previous views. They might need to have windows seen simultaneously (side by site). One of our web apps for example launches many monitoring dashboard windows that need to be a certain size and are distributed among many monitors of various sizes. Another is a complex accounting app, that needs many pop up windows to be seen and positioned at the user's disgretion for productivity. Your comment lacks imagination.

    All that asside, the behavior of window.open() is documented in the W3C standard, by people with a broader understanding of its use, and is defined to open a new window of a given size (hence the width, height params) not a new tab which is forced into the size of the opened browser and dominates the view.

    IE, Chrome, Firefox all understand this. Why not Vivaldi especially if it pretends to be a browser for the power user?


  • Moderator

    So because I could not see the use of one single feature of one single technology in the entire amount of possible things in the whole universe means I'm not creative? That was not cool.

    If you could read my post fully you would read that I find it useless MOST of the time and not ALL the time, the annoyance of websites opening new windows when they are useless is way more over websites using them for a good uses. AND that I really liked the MDI feature which allowed devs to create windows but which are not real windows, but tabs behaving as windows. I'm not a native English speakers so I may have expressed it in not an easy and fast understandable way.


  • Moderator

    I wonder if this behavior has anything to do with the reliable hard crash at https://aivitals.co.clark.nv.us/WebPIInternet/ when acquiring search results.

    The site (irritatingly, I might add) for some search tabs, presents results in a new web page in some sort of half-baked format that one cannot copy and paste from. Old Opera always displayed these results in a new tab. New opera at first displayed them in a tiny popup/new window that one had to drag open in order to read results, and now shows them in a new tab, full size. Firefox displays results in a new tab (which you have to turn off the popup blocker to see). IE shows a new tab. Vivaldi simply crashes.

    I wonder what it is about the code to show results that makes page display fraught.



  • @aweavbsd:

    IE, Chrome, Firefox all understand this. Why not Vivaldi especially if it pretends to be a browser for the power user?

    You're asking questions that have no meaning yet. Vivaldi has been available as a Technology Preview and a couple of Snapshots for less than a month. A "Technology Preview" is along the lines of an early alpha, it still has many bugs and missing features. Why doesn't this or that work yet? Because it is still an alpha and under heavy development.

    Firefox has an option "Open new windows in a tab instead" - are you saying that is the wrong thing to do? If users want to open windows across several monitors I'm sure they will (eventually) be able to do so, though I'm sure many users will choose not to.



  • "Firefox has an option "Open new windows in a tab instead" - are you saying that is the wrong thing to do?"

    No, I don't mind allowing users to stray from the default and have them optionally choose a non standard behavior (i.e. open in tabs). More options and freedom is always best, but it must be understood by users and all alike that this is a perversion of the function's intent, and opening in tabs should not be the default and definitely not the only option as it stands now. The default should be open in new window as the ECMA spec indicates. Afterall the Javascript function is called "window.open()" not "tab.open()". I don't object to a "tab.open()" addition to the spec, but as a developer when I write code to do something, I want it to do that something, so the experience can be predictable by all users on all browsers. Nobody wants to go back to the days when we needed to sniff UserAgent string and conditionally branch code to support different non standard browser behavior.

    I am a little dismayed because I keep seeing features removed or poorly implemented in browsers in the name of security or what ever else excuse is hip, at a time when users want their line of business web apps to function more like rich desktop apps. First, it started with Chrome and followed by the rest when they got rid of modal child windows which where very helpfull for business web apps. Now as developers we have to code a lot more to achieve a similar result but with more hacky means. I don't want to see the non modal child windows similarly go away.

    Nobody ever makes the case for web apps and I am here to do just that since I disagree that they are a minority. Entire businesses run on these.



  • @aweavbsd:

    Afterall the Javascript function is called "window.open()" not "tab.open()".

    IIRC the DOM spec is written as if a tab is just another type of window, with no way for client-side webpage Javascript to distinguish between "new window" and "new tab," and "window" is just an alias for the global object in webpages (compare Node, which uses "global" as an alias for the global object).

    @aweavbsd:

    security or what ever else excuse is hip

    Security isn't an "excuse" but rather an important part of application development, which was unfortunately ignored in the 1990s when the first Web browsers were being developed.

    @aweavbsd:

    modal child windows which where very helpfull for business web apps

    They were also unending sources of abuse for shady advertisers, and part of the impetus behind early popup-blockers.

    @aweavbsd:

    Nobody ever makes the case for web apps

    What kind of website do you think Gmail, Facebook, and YouTube are? Those are most definitely Web applications, but they don't steal focus all the time like modal windows do, and it is definitely possible to write line-of-business Web applications that don't jerk the user around like that.

    Most of HTML5 was actually about making Web applications easier to write, without even needing plugins: The Web Hypertext Application Technology Working Group (which split off when it saw XHTML 2.0 going nowhere) first called it "Web Applications 1.0" before calling it HTML5 in harmony with the W3C.

    The ability for Web pages to open modal windows was created with a single-tasking model in mind, not our multi-tasking operating systems and usage patterns.

    EDIT Today I found a "modal dialog" written using HTML5 and CSS3, which (unlike an actual modal dialog) doesn't steal focus but just blocks the rest of the page until it's dealt with: http://www.codeproject.com/Tips/170049/Pure-HTML-CSS-Modal-Dialog-Box-no-JavaScript



  • Sure security is important but don't use it as an excuse to pull fetures just because some abuse them. There are other ways to keep the features and stop abuse. (i.e. ask the user on a per site level basis if they want to allow popups when one is first encountered) The user can then say "allow once" or "always allow from this site" if the site behaves well or "never from this site" if its a crap site that abuses the feature. You can even default to "no" but using this as an excuse to say "yea this is never needed and because it's abused by some, lets just remove it". I call that an excuse and lasiness on the part of the browser designers. This is the official excuse Chrome used when they removed modal windows and these are the excuses I hear stated here and elsewhere.

    Now let me tell you why simulating modal popups with HTML DIV content overlays over an existing page is not quite the answer we're looking for. Sure Gmail, Facebook, and YouTube are web apps in the most basic possible sense. With these type of very simple web apps you can get away with HTML overlays for your modal needs, but I am talking about much more complex web apps then these.

    Think about a complex manufacturing product configurator entry screen that has over a 500,000 lines of Ajax code that needs to be poped up from several different distinct areas of a web application. If it could be contained in its own page as a real new windows would allow, it would be much more efficient for code reuse and its modularity makes it very portable and maintainable. Compare that to an HTML overlay that would have to be injected into each and every one of the numerous other pages that require a link to this same fake modal window you speak of. Large HTML overlay injections are messy, hard to maintain, not modular, and perform poorly. Also because they are fake HTML overlays, rather than new window instances, the popup content must be contained within the parent's working space thus you could never have a small window open an entry form that requires a larger space. And then what about users with multiple monitors that need to organize these newly opened windows as needed on multiple screens. Think about trading broakers or modular dashboards for operation monitoring on numerous monitors of different shapes, sizes, and orientations.

    I speek as a developer of very large and complex web apps for medical, manufacturing, CRM, ERP, financial, and other industries that require a more sofisticated interaction with the user than rinky dink web apps like YouTube. Fine apps for what they do but not in the same league.



  • I watch a lot of online podcasts. It's a lot handier for me if the video pops out in its own window instead of another full tab, so I can place the video window on the left side of my screen, and have mIRC for the live chat associated with the video on the screen placed to the left of the video. Until I can do this, Vivaldi is practically unusable for me at the moment.



  • It seems to me that the OP is not really understood by some of the people replying in this thread.
    I agree with him that this doesn't seem to work correct.
    If I watch a netcast/podcast on Twit.TV there is an option to join 'live chat'. In other browsers (all of them), clicking on this option, opens a popup window of a given size on the current tab. In Vivaldi, a new tab is opened which makes it impossible to watch the video and the chat at the same time. This seems wrong.

    If someone wants to check for themselves: www.twit.tv, the live chat button is in the upper right top.

    Richard



  • Good point. There are many scenarios like this where a user needs to multi-task, after all that's why need multi-monitors.
    BTW, I too watch twit.tv.


Log in to reply
 

Looks like your connection to Vivaldi Forum was lost, please wait while we try to reconnect.