Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

window.open() opens a blank screen in chrome

I checked this same code in Firefox and it works perfectly. In fact, this worked in Chrome a few weeks back, but now I'm just getting a blank screen.

The code is below:

The function triggers on button click.

function saving() {
  var saveURL = canvas.toDataURL(); 
  window.open(saveURL, "_blank", "location=0, menubar=0");
}
like image 999
Code geek Avatar asked Aug 20 '17 05:08

Code geek


2 Answers

While it's no longer possible to do this in Chrome, there are workarounds, such as opening a blank document and writing to it.

var win = window.open();
win.document.write("<img src='"+canvas.toDataURL()+"'/>");
like image 176
Savoo Avatar answered Oct 21 '22 08:10

Savoo


That's because of a recent change in Chrome:

https://developers.google.com/web/updates/2017/03/chrome-58-deprecations#remove_content-initiated_top_frame_navigations_to_data_urls

You cannot open data URLs directly anymore this way for security reasons.

Instead use the workaround proposed by @Savoo here in the other answer or use a download anchor and click it via JavaScript.

like image 36
Sebastian Avatar answered Oct 21 '22 09:10

Sebastian