window.print()无法在Chrome中运行

时间:2017-12-08 12:14:42

标签: javascript google-chrome

在下面的代码中,window.print()功能无法在Chrome中运行。该怎么办?



<div class="row">
    <div class="col-sm-3" id="itemin"> <input type="text" placeholder="Enter Item Name" size="20"> </div>
    <div class="col-sm-2" id="qtyin"> <input type="num" placeholder="quantity" size="20" id="qty"> </div>
    <div class="col-sm-3" id="rsin"> <input type="text" placeholder="prize" size="20" id="rs"> <button onclick="mul()" id="add">add </button> </div>
    <div class="col-sm-3" id="amtin"> <input type="text"  size="20" id="amt">  <input type="text" size="7" id="total"> <button onclick="print()" id="print"> print </div>
</div>

<script>
    function print()
    {
        window.print();
    } 
</script>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:6)

恭喜,您造成了StackOverflow!

此代码:

function print() {
    window.print();
}

与写作相同:

window.print = function {
    window.print();
}

基本上,您使用自己的函数覆盖原生window.print函数,该函数以递归方式调用window.print。解决方案很简单......删除你的功能,简单地说:

<button onclick="window.print()" id="print">print</button>

或者这个:

<button onclick="myPrintFunction()" id="print">print</button>
<script>
    function myPrintFunction() {
        // do something maybe
        window.print();
    }
</script>

答案 1 :(得分:0)

这是因为它进行了无限循环。代码onclick="print()"会自动调用window.print()

您可以更改功能名称或删除打印功能。它会起作用。

答案 2 :(得分:0)

只需在按钮的onclick上调用window.print()即可。无需为其定义函数。

<body>
<div class="row">
 <div class="col-sm-3" id="itemin"> <input type="text" placeholder="Enter Item Name" size="20"> </div>
 <div class="col-sm-2" id="qtyin">
   <input type="num" placeholder="quantity" size="20" id="qty"></div>
 <div class="col-sm-3" id="rsin"> <input type="text" placeholder="prize" size="20" id="rs"> <button onclick="mul()" id="add">Add </button> </div>
 <div class="col-sm-3" id="amtin">
   <input type="text"  size="20" id="amt">
   <input type="text" size="7" id="total">
   <button onclick="window.print()" id="print">Print</button>
    </div>
</body>