| /* |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| /** |
| *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) { |
| // Fixes dual-screen position Most browsers Firefox |
| const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left |
| const dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top |
| |
| 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 |
| |
| 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) |
| |
| // Puts focus on the newWindow |
| if (window.focus) { |
| newWindow.focus() |
| } |
| } |
| |