HTML+CSS: Wie text nicht markierbar machen?
semteX 03.03.2009 - 11:52 5867 11
semteX
begehrt die rostschaufel
|
Grüße Folgendes Problem: eine HTML seite besteht im prinzip aus labeln und dem passenden text dazu. das ganze sieht dann (in pseudohtml) so aus: <label>Firma:</label> Musterfirma FTW <label>Kontakt:</label> 99299929 etc das Problem ist jetzt: Man soll die ganze gschichte jetzt zum Etiketten drucken rauskopieren können. Die "Beschreibung" wie Firma und Kontakt soll da natürlic nicht mitkopiert werden. Das ist jetzt im Firefox gar kein problem, beim IE7 passts auch... ABER beim IE6 buggt es... ich hab jetzt schon lösungen wie unter http://www.dynamicdrive.com/dynamicindex9/noselect.htm gefunden. Diese haben allerdings einen massiven schönheitsfehler, der das ding unbenützbar macht: wenn ich außerhalb der "nicht markierbaren" zone zum markieren beginne, funktioniert der Schutz nicht mehr und das ganze wird durchmarkiert... hätt wer ne idee oder ne lösung, die im IE6 auch funktioniert?
Bearbeitet von semteX am 11.03.2009, 15:01
|
userohnenamen
leider kein name
|
du hast schon die kampagne zum IE6 sterben mitbekommen oder? beteilig dich am besten einfach daran aber sorry für den unproduktiven post
|
semteX
begehrt die rostschaufel
|
das ist leider keine option und ja, wenns nach mir ginge wär die komplette bude seit jahren schon umgestellt.
|
AdRy
Auferstanden
|
warum machst keinen copy-button der genau das in die zwischenablage kopiert was man normal markieren soll? brauchst halt js dafür.
|
Spikx
My Little Pwny
|
warum machst keinen copy-button der genau das in die zwischenablage kopiert was man normal markieren soll? brauchst halt js dafür. Das geht dafür dann aber nur im IE, außer man macht diesen Flash workaround, der aber scheinbar auch nicht immer funktioniert? (Habe noch nicht all zu viel Erfahrung damit gemacht.)
|
semteX
begehrt die rostschaufel
|
eine IE only lösung würd komplett reichen, kann ma ja kombinieren.... ging das copy to clipboard im IE6 auch schon? ich werd mal bissi googeln, vielen dank für die tolle idee, darauf hätt ich jetzt gar ned gedacht
|
Spikx
My Little Pwny
|
Kannst dir sogar gleich direkt von oc.at abschaun: http://www.overclockers.at/oc.js function copyToClipboard(szText)
{
szRealText = szText.replace(/\+/g," ");
// IE: Function integrated!
if (window.clipboardData && clipboardData.setData)
{
clipboardData.setData("Text",unescape(szRealText));
return true;
}
// Else: Copy with Flash Object
if (!document.getElementById('idFlashCopy'))
// => Flash Object exists?
{
var oDiv = document.createElement('div');
oDiv.id = 'idFlashCopy';
document.body.appendChild(oDiv);
}
document.getElementById('idFlashCopy').innerHTML = '<embed src="/flashcopy.swf" FlashVars="clipboard='+szRealText+'" width="30" height="30" type="application/x-shockwave-flash"></embed>';
return true;
}
Und hier gleich ausprobiern (copy).
|
fatmike182
Agnotologe
|
(label benötigt noch ein for, aber war ja glaub ich eh nur zur Veranschaulichung gemeint)
::selection gäbs bei CSS, aber nehm an das beeinflusst nicht viel wennst nach unselectable text googlest findest viele js beispiele
|
watchout
Legendundead
|
Alternative wäre mit Layern zu arbeiten. Dazu schreibst du im Prinzip deine Labels in einen Layer, dazwischen ein (voll-)transparentes PNG/GIF und im Layer darüber schreibst du deine Daten. Funkt sogar ohne JS/Flash und mit GIF bzw. PNG-8 sollte es sogar der IE5 packen Die Problematik dabei ist, dass sich die Elemente schwer aneinander ausrichten lassen (zumindest ohne JS...), also muss man absolut positionieren Edit: muss mich korrigieren, man kann mit nur teils-absoluter Positionierung auch die richtigen Positionen erreichen indem man auch im Background-Layer (in der farbe des Hintergrunds, bzw. per css3 Farben) versteckt den gleichen Inhalt schreibt wie im FG, wodurch man eine korrekte Darstellung erreichen kann, dabei muss man natürlich Borders etc. kopieren.
Bearbeitet von watchout am 03.03.2009, 15:56
|
semteX
begehrt die rostschaufel
|
Alternative wäre mit Layern zu arbeiten. Dazu schreibst du im Prinzip deine Labels in einen Layer, dazwischen ein (voll-)transparentes PNG/GIF und im Layer darüber schreibst du deine Daten.
Funkt sogar ohne JS/Flash und mit GIF bzw. PNG-8 sollte es sogar der IE5 packen
Die Problematik dabei ist, dass sich die Elemente schwer aneinander ausrichten lassen (zumindest ohne JS...), also muss man absolut positionieren
Edit: muss mich korrigieren, man kann mit nur teils-absoluter Positionierung auch die richtigen Positionen erreichen indem man auch im Background-Layer (in der farbe des Hintergrunds, bzw. per css3 Farben) versteckt den gleichen Inhalt schreibt wie im FG, wodurch man eine korrekte Darstellung erreichen kann, dabei muss man natürlich Borders etc. kopieren. Die Idee find ich gut, allerdings stell ich mir das mit der positionierung hier wie die absolute hölle vor (unbekannte länge, unbekannte zeilenanzahl,..)
|
fatmike182
Agnotologe
|
noch eine dumme Idee, aber frame-übergreifend kann man ja auch nicht kopieren für gewöhnlich (oder?). Folglich könntest du das als Frameset machen, evtl sogar auf iframes-Basis.
Aufwändiger aber gut hats der Standard gelöst
|
semteX
begehrt die rostschaufel
|
noch eine dumme Idee, aber frame-übergreifend kann man ja auch nicht kopieren für gewöhnlich (oder?). Folglich könntest du das als Frameset machen, evtl sogar auf iframes-Basis.
Aufwändiger aber gut hats der Standard gelöst also da mit frames und iframes reinkrachn führt glaub ich zu größerem unfrieden.... problem wurde jetzt unter anderem durch den "copy" button gelöst...
|