HTML+CSS: Wie text nicht markierbar machen?

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/htmlcss_wie_text_nicht_markierbar_machen_205407/page_1 - zur Vollversion wechseln!


semteX schrieb am 03.03.2009 um 11:52

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?


userohnenamen schrieb am 03.03.2009 um 11:54

du hast schon die kampagne zum IE6 sterben mitbekommen oder? beteilig dich am besten einfach daran ;)
aber sorry für den unproduktiven post


semteX schrieb am 03.03.2009 um 12:06

das ist leider keine option und ja, wenns nach mir ginge wär die komplette bude seit jahren schon umgestellt.


AdRy schrieb am 03.03.2009 um 12:13

warum machst keinen copy-button der genau das in die zwischenablage kopiert was man normal markieren soll? brauchst halt js dafür.


Spikx schrieb am 03.03.2009 um 12:22

Zitat von AdRy
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 schrieb am 03.03.2009 um 12:38

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 schrieb am 03.03.2009 um 12:42

Kannst dir sogar gleich direkt von oc.at abschaun: http://www.overclockers.at/oc.js :D

Code:
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 schrieb am 03.03.2009 um 12:43

(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 schrieb am 03.03.2009 um 15:37

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.


semteX schrieb am 03.03.2009 um 19:48

Zitat von watchout
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 schrieb am 09.03.2009 um 09:55

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 schrieb am 11.03.2009 um 15:00

Zitat von fatmike182
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...




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2024