JSFiddle - React, Tailwind, and code Playground
by shapeshifta
HTML
<a href="#">OPEN</a>
JavaScript
$.fn.popFn = function(options) {
var defaults = {
url: $(this).attr('href') || 'http://www.unister.de',
//href oder Standardurl ;)
title: 'popup' + new Date().getTime(),
//Titel des neuen Fensters
params: null,
//Weitere Fensterparameter
under: false //oder soll's ein popunder sein?
};
var settings = {},
ua = $.browser;
return this.each(function() {
settings = $.extend({}, defaults, options);
//menubar ausschalten, wenn IE8.0+ oder Webkit-Browser
//http://trac.unister-gmbh.de/qa/wiki/FRONTEND/Architektur/Popups-Popunders/
if (ua.webkit || (ua.msie && ua.version >= 8.0)) {
settings.params = settings.params.replace(/(menubar\s*=[^,]+)/, 'menubar=no');
}
var win = window.open(settings.url, settings.title, settings.params); //neues Popup erzeugen
if (!win) {
return null;
}
//popunder
if (settings.under === true) {
try {
win.blur();
} catch (a) {}
// hack für FF Version >= 4 und neu ab 10+
if (ua.mozilla && parseInt(ua.version, 10) >= 2) {
try {
if (win.mozPaintCount !== undefined) {
win.open('about:blank').close();
}
} catch (b) {}
} else {
// alle anderen Browser
window.blur();
window.focus();
}
try {
// set focus back to opener-win
win.opener.window.focus();
} catch (e) {}
return win;
}
});
};
var out = '', obj = {
width: screen.availWidth -300 ,
height: screen.availHeight -300
};
for (var i in obj) {
out += (i + '=' + obj[i] + ', ');
}
var opts = out + 'top=0, left=0, location=yes, menubar=yes, toolbar=yes, scrollbars=yes,...