gpt4 book ai didi

javascript - iframe 上的 css 效果不会打印

转载 作者:行者123 更新时间:2023-11-28 06:55:55 25 4
gpt4 key购买 nike

我正在创建一个使用 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>

最佳答案

我也遇到了同样的问题。我在很多网站上搜索了很多。时间长了,我发现是浏览器在这种情况下限制了它。您只需启用背景颜色打印选项即可。我曾使用过 Mozilia Firefox。按照以下步骤打印背景颜色:

文件 -> 页面设置 ->(选中选项)打印背景(颜色和图像)

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

关于javascript - iframe 上的 css 效果不会打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32570962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com