不会打印对iframe的CSS效果

时间:2015-09-14 17:57:21

标签: javascript php css ajax iframe

我正在创建一个我使用过iframe的程序。我在iframe上应用css,它在浏览器上运行良好。但是当我尝试打印iframe时,css效果不会出现。我试图从IE,Chrome,Mozilia和Edge打印iframe。但它们都没有正确印刷。页面上仅显示一些效果。谁能告诉我解决方案?

谢谢:)

我的程序中有两个文件。我的代码如下:

createForm.php

<?php

$clmns=$_REQUEST['clmns'];
$rows=$_REQUEST['rows'];

$form="<center><table>";

for($i = 1; $i <= 2; $i++)
{
$form.="<tr>";

for($j = 1; $j <= $clmns; $j++)
{
    $form.="<td><textarea style='background-color:rgb(249,208,191); color:brown; font-weight:bold; border:solid 3px brown;' id=".$i."_".$j." rows=".$rows." cols=20></textarea></td>";
}

$form.="</tr>";

}

$form.="</table></center>";

$form.="<input type=button value=Save onclick=saveData()     />";

echo $form;

?>

home.php

    <html>

<head>

<style type="text/css">

iframe
{
width:800px;
height:500px;
background-color: blue;
border:solid 5px brown;
}

</style>

<script type="text/javascript">

var xmlhttp;

function createForm()
{
var clmns=document.getElementById('clmns').value;
var rows=document.getElementById('rows').value;

document.getElementById('dataEntryForm').src="createForm.php?clmns="+clmns+"&rows="+rows;
}

function saveData()
{
    if(window.XMLHttpRequest)
{
    xmlhttp=new XMLHttpRequest();
}
else
{
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

var v1=document.getElementById('1_1').value;
alert(v1);
xmlhttp.open("POST","saveData.php",true);
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send("data="+v1);

    xmlhttp.onreadystatechange=function()
    {
        if(xmlhttp.readyState==4 && xmlhttp.status==200)
        {   
            alert(xmlhttp.responseText);
            //document.getElementById('dataEntryForm').innerHTML=xmlhttp.responseText;
        }
    }
}


function printMe()
{
var x = document.getElementById("dataEntryForm");
var y = x.contentWindow.print();
}

</script>

</head>

<body>

<table>

<tr>
<td>Enter Number of Columns Required :</td>
<td><input type="text" id="clmns" /></td>
</tr>

<tr>
<td>Enter Number of Maximum rows Required :</td>
<td><input type="text" id="rows" /></td>
</tr>

<tr>
<td colspan="2"><input type="button" value="Show Form" onclick="createForm()"/></td>
</tr>

</table>

<br/><br/>

<iframe name="frame1" id="dataEntryForm"></iframe>
<input type=button onclick="printMe()" />


</body>
</html>

1 个答案:

答案 0 :(得分:0)

我有同样的问题N-C。我在很多网站上搜索了很多。经过很长一段时间,我发现在这种情况下,它是一个限制它的浏览器。您只需启用背景颜色打印选项。我曾与Mozilia Firefox合作过。在下面的步骤中打印背景颜色:

档案 - &gt;页面设置 - &gt; (选中选项)打印背景(颜色和图像)

您也可以在其他浏览器中找到类似的选项。