-
-
Save hpbuniat/1021924 to your computer and use it in GitHub Desktop.
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta content="Hans-Peter Buniat" name="author"> | |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | |
<title>Form-Submit Popunder</title> | |
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> | |
</head> | |
<body> | |
<form id="testSubmit" action="http://www.google.com"> | |
<input type="submit" /> | |
</form> | |
<script type="text/javascript"> | |
/* use jQuery as container for more convenience */ | |
(function($) { | |
/** | |
* Create a popunder | |
* | |
* @param sUrl Url to open as popunder | |
* | |
* @return jQuery | |
*/ | |
$.popunder = function(sUrl) { | |
var bSimple = $.browser.msie, | |
run = function() { | |
$.popunderHelper.open(sUrl, bSimple); | |
}; | |
(bSimple) ? run() : window.setTimeout(run, 1); | |
return $; | |
}; | |
/* several helper functions */ | |
$.popunderHelper = { | |
/** | |
* Helper to create a (optionally) random value with prefix | |
* | |
* @param string name | |
* @param boolean rand | |
* | |
* @return string | |
*/ | |
rand: function(name, rand) { | |
var p = (name) ? name : 'pu_'; | |
return p + (rand === false ? '' : Math.floor(89999999*Math.random()+10000000)); | |
}, | |
/** | |
* Open the popunder | |
* | |
* @param string sUrl The URL to open | |
* @param boolean bSimple Use the simple popunder | |
* | |
* @return boolean | |
*/ | |
open: function(sUrl, bSimple) { | |
var _parent = self, | |
sToolbar = (!$.browser.webkit && (!$.browser.mozilla || parseInt($.browser.version, 10) < 12)) ? 'yes' : 'no', | |
sOptions, | |
popunder; | |
if (top != self) { | |
try { | |
if (top.document.location.toString()) { | |
_parent = top; | |
} | |
} | |
catch(err) { } | |
} | |
/* popunder options */ | |
sOptions = 'toolbar=' + sToolbar + ',scrollbars=yes,location=yes,statusbar=yes,menubar=no,resizable=1,width=' + (screen.availWidth - 10).toString(); | |
sOptions += ',height=' + (screen.availHeight - 122).toString() + ',screenX=0,screenY=0,left=0,top=0'; | |
/* create pop-up from parent context */ | |
popunder = _parent.window.open(sUrl, $.popunderHelper.rand(), sOptions); | |
if (popunder) { | |
popunder.blur(); | |
if (bSimple) { | |
/* classic popunder, used for ie*/ | |
window.focus(); | |
try { opener.window.focus(); } | |
catch (err) { } | |
} | |
else { | |
/* popunder for e.g. ff4+, chrome */ | |
popunder.init = function(e) { | |
with (e) { | |
(function() { | |
if (typeof window.mozPaintCount != 'undefined' || typeof navigator.webkitGetUserMedia === "function") { | |
var x = window.open('about:blank'); | |
x.close(); | |
} | |
try { opener.window.focus(); } | |
catch (err) { } | |
})(); | |
} | |
}; | |
popunder.params = { | |
url: sUrl | |
}; | |
popunder.init(popunder); | |
} | |
} | |
return true; | |
} | |
}; | |
})(jQuery); | |
$('#testSubmit').submit(function() { | |
jQuery.popunder('http://www.fluege.de').popunder('http://www.flug24.de'); | |
}); | |
</script> | |
</body> | |
</html> |
I'm not longer updating the gist, because i created a repo for this:
https://github.com/hpbuniat/jquery-popunder
This version works on most chrome 22 installations, but it's not perfect yet. I'm still tinkering ;)
Hi,
I am Asp.net developer, I have used your script for popunder, I have called the pop under function in the <a> tag
( <a href="xxx.aspx" onclick="openpopunder()" >popunder</a> ) it works fine, But i have changed the
<script>
function openpopunder() {
jQuery.popunder('popunder-page.aspx');
window.location.href = "xxxxx.aspx";
}
</script>
( <a href="xxx.aspx" onclick="openpopunder()" >popunder</a> )
into
<asp:LinkButton ID="lnklogo" runat="server" OnClick="lnklogo_Click"><img src="./Images/xxxxxxx.png" alt="xxxxxxxx.com Logo" /></asp:LinkButton>
called the popup script in the code behind after saving my form values in Sessions
protected void lnklogo_Click(object sender, EventArgs e)
{
Session["formvalue"] = ObjFormvalue;
Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript", "openpopunder()", true);
}
Now, This Scripts opens Pop UP Instead of Pop UNDER...
Any Idea? Please reply
Thanks,
Ragunath.s
i want to load this script, when my mouse hover on the browser window. can anyone help me.
For me, on Chrome 22 it also opens as a popup instead of popunder. :/
It was working on previous Chrome versions though.