У меня есть текстовый редактор, и я хочу, чтобы при печати печатать результаты без даты, ссылки или заголовка, поэтому я использую этот скрипт, чтобы иметь 0 полей и портрет
var cssPagedMedia = (function () {
var style = document.createElement('style');
document.head.appendChild(style);
return function (rule) {
style.innerHTML = rule;
};
}());
cssPagedMedia.margin = function (margin) {
cssPagedMedia('@page {margin: ' + margin + '}');
};
cssPagedMedia.margin('0');
cssPagedMedia.size = function (size) {
cssPagedMedia('@page {size: ' + size + '}');
};
var cssPagedMedia = (function () {
var style = document.createElement('style');
document.head.appendChild(style);
return function (rule) {
style.innerHTML = rule;
};
}());
cssPagedMedia.size = function (size) {
cssPagedMedia('@page {size: ' + size + '}');
};
cssPagedMedia.size('portrait');
Но этот скрипт работает только на главной странице, если вы пытались напечатать его, но не текст в текстовом редакторе, и вы можете увидеть пример
и я хочу применить предыдущий скрипт к javascript текстового редактора, и это весь javascript текстового редактора
var oDoc, sDefTxt;
function initDoc() {
oDoc = document.getElementById("textBox");
sDefTxt = oDoc.innerHTML;
if (document.compForm.switchMode.checked) { setDocMode(true); }
}
function formatDoc(sCmd, sValue) {
if (validateMode()) { document.execCommand(sCmd, false, sValue); oDoc.focus(); }
}
function validateMode() {
if (!document.compForm.switchMode.checked) { return true ; }
alert("Uncheck \"Show HTML\".");
oDoc.focus();
return false;
}
function setDocMode(bToSource) {
var oContent;
if (bToSource) {
oContent = document.createTextNode(oDoc.innerHTML);
oDoc.innerHTML = "";
var oPre = document.createElement("pre");
oDoc.contentEditable = false;
oPre.id = "sourceText";
oPre.contentEditable = true;
oPre.appendChild(oContent);
oDoc.appendChild(oPre);
document.execCommand("defaultParagraphSeparator", false, "div");
} else {
if (document.all) {
oDoc.innerHTML = oDoc.innerText;
} else {
oContent = document.createRange();
oContent.selectNodeContents(oDoc.firstChild);
oDoc.innerHTML = oContent.toString();
}
oDoc.contentEditable = true;
}
oDoc.focus();
}
function printDoc() {
if (!validateMode()) { return; }
var oPrntWin = window.open("","inlineFrameExample","width=450,height=470,left=400,top=100,menubar=yes,toolbar=no,location=no,scrollbars=yes");
oPrntWin.document.open();
oPrntWin.document.write("<!doctype html><html><head><title><\/title><\/head><body onload=\"print();\">"+ "<div dir='rtl'>" + oDoc.innerHTML + "<\/body><\/html>");
oPrntWin.document.close();
}
/*page margin*/
var cssPagedMedia = (function () {
var style = document.createElement('style');
document.head.appendChild(style);
return function (rule) {
style.innerHTML = rule;
};
}());
cssPagedMedia.margin = function (margin) {
cssPagedMedia('@page {margin: ' + margin + '}');
};
cssPagedMedia.margin('0');
/*page size*/
cssPagedMedia.size = function (size) {
cssPagedMedia('@page {size: ' + size + '}');
};
var cssPagedMedia = (function () {
var style = document.createElement('style');
document.head.appendChild(style);
return function (rule) {
style.innerHTML = rule;
};
}());
cssPagedMedia.size = function (size) {
cssPagedMedia('@page {size: ' + size + '}');
};
cssPagedMedia.size('portrait');
Итак, как я могу сделать печать для текстового редактора с показом 0 полей и protrait независимо от настроек печати по умолчанию в вашем браузере?