javascript - Javascript 打印函数在 div 内生成脚本
问题描述
我有一个打印功能:
<script language="javascript">
function printdiv(printpage) {
var headstr = "<html><head><title></title></head><body>";
var footstr = "</body>";
var newstr = document.all.item(printpage).innerHTML;
var oldstr = document.body.innerHTML;
document.body.innerHTML = headstr + newstr + footstr;
window.print();
document.body.innerHTML = oldstr;
return false;
}
在我的 cshtml 文件中:
<button type="button" onClick="printdiv('div_print');">Print</button>
<div id="div_print">@Html.ActionLink("Test","Nil","Nil")</div>
当我单击按钮打印时,它就会出现。
Test (/Nil/Nil)
我希望它只打印
Test
我怎样才能解决这个问题?
解决方案
尝试这个。当您在锚标记中有正确的 href 时,就会发生这种情况。如果我们将其设置为 # 它将起作用。
<script language="javascript">
function printdiv(printpage) {
var headstr = "<html><head><title></title></head><body>";
var footstr = "</body>";
document.getElementsByTagName('a')[0].setAttribute("href","#")
var newstr = document.all.item(printpage).innerHTML;
var oldstr = document.body.innerHTML;
document.body.innerHTML = headstr + newstr + footstr;
window.print();
document.body.innerHTML = oldstr;
return false;
}
</script>
推荐阅读
- javascript - Javascript 承诺在我的情况下不起作用
- css - 为什么 CSS 按钮选择器 [disabled] 和 &:disabled 的工作方式相同?
- javascript - 是否有将字符串转换为特殊字符的通用功能?
- flutter - Flutter 上的数据转换
- angular - ExpressionChangedAfterItHasBeenCheckedError 在订阅中为数组赋值
- javascript - 有没有办法根据键将对象附加到现有的对象数组中
- c# - 从数据库列和 C# 中的 textBox 值中扣除值,扣除后的值必须存储在新列中
- flutter - 导入和使用自定义字体不起作用
- go - 在 defer 中关闭 gzip writer 会导致数据丢失
- azure - 无法将 Azure 文件共享挂载为本地计算机上的驱动器