192

I'm making a "share button" to share the current page. I would like to take the current page URL and open it in a new window. I have the current URL part working, but can't seem to get the next part working.

I'm struggling with the syntax. I would like to specify the new window size to width=520, height=570.

Something like:

<a target="_blank"
   href="https://www.linkedin.com/cws/share?mini=true&amp;url=[sub]" 
   onclick="this.href = this.href.replace('[sub]',window.location)">
    LinkedIn
</a>

Any ideas?

informatik01
  • 16,038
  • 10
  • 74
  • 104
Mark Mitchell
  • 2,157
  • 4
  • 16
  • 15
  • possible duplicate of [Javascript - Open a given URL in a new tab by clicking a button](http://stackoverflow.com/questions/6303964/javascript-open-a-given-url-in-a-new-tab-by-clicking-a-button) – Luke Alderton Jul 09 '15 at 08:59

5 Answers5

305

Use window.open():

<a onclick="window.open(document.URL, '_blank', 'location=yes,height=570,width=520,scrollbars=yes,status=yes');">
  Share Page
</a>

This will create a link titled Share Page which opens the current url in a new window with a height of 570 and width of 520.

citruspi
  • 6,709
  • 4
  • 27
  • 43
84

Just use window.open() function? The third parameter lets you specify window size.

Example

var strWindowFeatures = "location=yes,height=570,width=520,scrollbars=yes,status=yes";
var URL = "https://www.linkedin.com/cws/share?mini=true&amp;url=" + location.href;
var win = window.open(URL, "_blank", strWindowFeatures);
Community
  • 1
  • 1
Shiplu Mokaddim
  • 56,364
  • 17
  • 141
  • 187
  • shiplu.mokadd.im That seems to be what I need but I am not sure where it goes. – Mark Mitchell Jan 03 '13 at 02:11
  • 2
    @MarkMitchell If you don't care about coding standards - into the `onclick` attribute. A slightly better option is to create a function that you call from the `onclick`. Using `getElementById` and `addEventListener` is cleaner still. Using jQuery to get a shorter syntax (and some other features + tons of plugins) is very popular as well. – John Dvorak Jan 03 '13 at 02:15
  • How is that the 4th parameter? It looks like the 3rd to me. Am I missing something? – CoderDennis Jan 09 '14 at 16:42
  • @CoderDennis Nice catch. Fixed it. – Shiplu Mokaddim Jan 09 '14 at 19:56
  • hi how can I trigger the window close event? – Dilakshan Sooriyanathan Jun 29 '18 at 05:21
  • @DilakshanSooriyanathan you can close the opened window using the variable that you gave to the new window. The code above would use `win.close()`. – brad Oct 07 '18 at 08:15
14

Don't confuse, if you won't give any strWindowFeatures then it will open in a new tab.

window.open('https://play.google.com/store/apps/details?id=com.drishya');
Ankit Kumar Rajpoot
  • 5,188
  • 2
  • 38
  • 32
  • 1
    I don't think that's true. At least in the Linux Chrome I'm using, the same `window.open(url, '_blank')` seems to decide whether to open a new window or a new tab based on whether I hold down the shift or control key, respectively, with my click. – JohnK Dec 14 '20 at 15:42
6

I know it's too late, but,

Steps for opening a link in a new tab:

  1. Create an a element
  2. Set the href ( "https://example.com" )
  3. Set target to "_blank"
  4. Click on the link

Code:

<button onclick="myFunction()">Open</button>
<script>
function myFunction() {
  var link = document.createElement("a")
  link.href = "https://example.com"
  link.target = "_blank"
  link.click()
}
</script>
RixTheTyrunt
  • 185
  • 3
  • 11
1

The following is JavaScript to be used in a function: Note, I have 1's and 0's instead of yes and no.

var theTop=((screen.height/2)-(theHeight/2))/2;
var theLeft=(screen.width/2)-(theWidth/2);
var features = 'height=600,width=800,top='+theTop+',left='+theLeft+',toolbar=1,Location=0,Directories=0,Status=0,menubar=1,Scrollbars=1,Resizable=1';

window.open(in_uri, WindowName, features);
Dula
  • 1,276
  • 5
  • 14
  • 23
Joe K
  • 53
  • 8