For browser consistency, you may need to delay the fancybox load execution for the first time so try this code :
function openFancybox() {
// launches fancybox after half second when called
setTimeout(function () {
$('#yt').trigger('click');
}, 500);
};
$(document).ready(function () {
var visited = $.cookie('visited'); // create the cookie
if (visited == 'yes') {
return false; // second page load, cookie is active so do nothing
} else {
openFancybox(); // first page load, launch fancybox
};
// assign cookie's value and expiration time
$.cookie('visited', 'yes', {
expires: 7 // the number of days the cookie will be effective
});
// your normal fancybox script
$("#yt").click(function () {
$.fancybox({
// your fancybox API options
});
return false;
});
});
See code at this JSFIDDLE
NOTES :
- In order to see the cookie working, you may need to use jsfiddle's full screen mode http://jsfiddle.net/aVE9N/show/
- I would advice you to update (at least) your fancybox version from v1.3.1 to v1.3.4
- It's assumed you are loading properly the jQuery cookie plugin in your page