Print модального (overlay) окна точнее его содержимого

CrashX

В прошлом XSiteCMS
Регистрация
6 Июн 2008
Сообщения
681
Реакции
114
связка jquery + tools.overlay


при нажатии печать открывается модельное окно, так тупо все отлючено те все панели и прочая муть... и я хочу именно те данные печатать


снипет вроде
этого не помогает, тк он печатет активное окно...
HTML:
/**
 * Печать страницы
 *  с rel='#print'
 */
$(document).ready(function() {
  $("a[rel^='#print']").click(function() {
    $('#overlay').focus();
    window.print();
    return false;
  });
});


при открытии в отдельном окне не в модальном все норм печатает
при нажатии в модальном окне нет действия

при добавлении оnClick='javascript:window.print();return false;' печатает основную страницу с модальным окном а нужно
что бы при открытии в отдельно окне печать была возможна, и при открытии в модальном печатались данные из модельного окна...


есть идея в iframe загружать, или же как то можноли отправить на печать данные только из целевого дива, или целевой страницы...

подскажите...
 
Код:
(function($) {
  jQuery.fn.jprint = function() {
    if ($.browser.opera && $.browser.version >'11.01')
    {
      
      var w = window.open("","jprint");
      w.document.open();
      var doc = w.document;
    }
    else
    {
      var wid = "jprint_" + (Math.random() * 99999).toString();
      var w = $('<iframe />', {
        "name":wid,
        "id":wid,
        "frameBorder": 0,
        "scrolling": 'no',
        "src": 'about:blank'
      }).appendTo('body');
      w.css({ position: "absolute", width: "0px", height: "0px", left: "-600px", top: "-600px" });
      var doc = w[0].contentDocument ? w[0].contentDocument : ( w[0].contentWindow ? w[0].contentWindow.document : w[0].document);
    }
    if ($("link[media=print]").length > 0)
    {
      $("link[media=print]").each( function() {
        doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' media='print' />");
      });
    }
    else
    {
      $("link").each( function() {
        doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' />");
      });
    }
    doc.write($('#modalbox').clone().html());
    doc.close();

    (($.browser.opera && $.browser.version >'11.01') ? w : w[0].contentWindow).focus();
    setTimeout( function() {
      (($.browser.opera && $.browser.version >'11.01') ? w : w[0].contentWindow).print();
      (($.browser.opera && $.browser.version >'11.01') ? w.close() :$(w).remove());
    }, 1000);   
  };
})(jQuery);
работает кому надо юзайте
 
Назад
Сверху