使用jquery打印图像不起作用

时间:2012-03-02 12:38:36

标签: javascript jquery

Hy Guys ......

我有一些灯箱脚本,我可以在其中构建自定义按钮。我已经制作了一个按钮来打印在灯箱中显示的图像..但是图像在打印窗口上没有显示(在Google Chrome,Firefox和IE8中测试)...在这里我的

我的代码:

<script type="text/javascript">
jQuery(document).ready(function(){
    jQuery("#getdropdown").change(function() {
        var trial=jQuery("#getdropdown option:selected").val();

        jQuery.lightbox(trial,{
              buttons: [
                {
                  'class'     : 'botao-imprimir',
                  'html'      : 'IMPRIMIR',
                  'callback'  : function(url) {
                    title = window.open(trial);
                    //title.document.write(trial);
                    title.print();
                  }
                }
              ]
            });     

    });
});
</script>

这是我的HTML:

<select name="getdropdown" class="drop-receitas" id="getdropdown">
    <option value="">Escolha aqui a receita desejada</option>
    <option value="receitas/image.jpg">Image</option>
    <option value="receitas/image2.jpg">Image 2</option>    
</select>

var trial我有图像,当我在列表中选择一些选项时,它会显示带有“IMPRIMIR”按钮的图像(打印)..我做错了什么?

Ty求助!

编辑:Here是问题的链接。点击DropDown上的某个项目

1 个答案:

答案 0 :(得分:0)

您应该打开一个HTML页面的窗口对象,其中包含标记中的图像。 像这样:

jQuery.lightbox(trial, {
  buttons: [
    {
      'class'     : 'botao-imprimir',
      'html'      : 'IMPRIMIR',
      'callback'  : function(url) {
        var imgWindow = window.open('', 'popup', 'toolbar=no,menubar=no,width=imageWidth,height=imageheight');
        imgWindow.document.open();
        imgWindow.document.write("<html><head></head><body onload='window.print()'><img src='"+url+"' /></body></html>");
        imgWindow.document.close();
       }
     }
   ]
 });

另一种方法是使用打印样式表,它隐藏其他所有内容,而不是图像。看看这里:http://www.webcredible.co.uk/user-friendly-resources/css/print-stylesheet.shtml(Google首次点击)。