J'ai fait une impression CSS média pour cacher un certain nombre de champs . Le problème était compliqué par le fait que j'utilisais nicEdit qui crée dynamiquement un IFRAME. Je devais donc ajouter un événement qui prenait des événements flous et les copiait dans une Div (à l'exception de l'impression). "divtext" est la Div hiddent, et "storyText" est la TextArea.
textarea {
display: none;
}
*/ #divtext {
display: block;
}
div, DIV {
border-style: none !important;
float: none !important;
overflow: visible !important;
display: inline !important;
}
/* disable nearly all styles -- especially the nicedit ones! */
#nav-wrapper, #navigation, img, p.message, .about, label, input, button, #nav-right, #nav-left, .template, #header, .nicEdit-pane, .nicEdit-selected, .nicEdit-panelContain, .nicEdit-panel, .nicEdit-frame {
display: none !important;
}
/*hide Nicedit buttons */
.nicEdit-button-active, .nicEdit-button-hover, .nicEdit-buttonContain, .nicEdit-button, .nicEdit-buttonEnabled, .nicEdit-selectContain, .nicEdit-selectControl, .nicEdit-selectTxt {
display: none !important;
}
Le code javascript pour NicEdit:
<script type="text/javascript" src="/media/nicEdit.js"></script>
<script type="text/javascript">
bkLib.onDomLoaded(function() {
var nic = new nicEditor({
fullPanel: true
}).panelInstance('storyText');
document.getElementById("storyText").nic = nic;
nic.addEvent('blur', function() {
document.getElementById("storyText").value =
nic.instanceById('storyText').getContent();
document.getElementById("divtext").innerHTML = nic.instanceById('storyText').getContent();
});
});
</script>
Cela ne fonctionne pas réellement, avez-vous essayé? Dans Chrome 8, 'overflow: visible' sur une zone de texte n'imprime pas réellement son contenu. Ni 'height: auto'; ou l'un de mes trucs habituels. –
Voici un test pour vous convaincre que cela ne fonctionnera pas. Testé dans Chrome 8, OS X. http://dl.dropbox.com/u/105727/web/print_textarea.html –
Oui, probablement pas à l'avenir. Considérant que j'ai écrit la réponse en 2008, je ne suis pas surpris qu'il casse dans Chrome 8. –