2017-04-18 07:09:13 +00:00
|
|
|
/**
|
|
|
|
*Created by jiachenpan on 16/11/29.
|
|
|
|
* @param {Sting} url
|
|
|
|
* @param {Sting} title
|
|
|
|
* @param {Number} w
|
|
|
|
* @param {Number} h
|
|
|
|
*/
|
|
|
|
|
|
|
|
export default function openWindow(url, title, w, h) {
|
2017-10-31 08:04:30 +00:00
|
|
|
// Fixes dual-screen position Most browsers Firefox
|
2017-08-22 07:43:34 +00:00
|
|
|
const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left
|
|
|
|
const dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top
|
2017-04-18 07:09:13 +00:00
|
|
|
|
2017-08-22 07:43:34 +00:00
|
|
|
const width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width
|
|
|
|
const height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height
|
2017-04-18 07:09:13 +00:00
|
|
|
|
2017-08-22 07:43:34 +00:00
|
|
|
const left = ((width / 2) - (w / 2)) + dualScreenLeft
|
|
|
|
const top = ((height / 2) - (h / 2)) + dualScreenTop
|
|
|
|
const newWindow = window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left)
|
2017-04-18 07:09:13 +00:00
|
|
|
|
|
|
|
// Puts focus on the newWindow
|
|
|
|
if (window.focus) {
|
2017-08-22 07:43:34 +00:00
|
|
|
newWindow.focus()
|
2017-04-18 07:09:13 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|