Für Versionen von IE unter 10, die die Daten-Transfer-Methode nicht unterstützen, habe ich entdeckt, ein weiterer etwas hacky Weg, um dies zu arbeiten.
Grundsätzlich machen Sie Text unsichtbar mit CSS und verwenden Sie dann js, um es im Hintergrund bei Hover auswählen.
HTML
<div id="drag_area" draggable="true">
<div id="text">
hidden text
</div>
</div>
CSS
#text { filter:alpha(opacity=0); opacity:0;
overflow:hidden; z-index:100000; width:180px; height:50px }
JS
function selectText(elementID) {
var text = document.getElementById(elementID);
if ($.browser.msie) {
var range = document.body.createTextRange();
range.moveToElementText(text);
range.select();
} else if ($.browser.mozilla || $.browser.opera) {
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(text);
selection.removeAllRanges();
selection.addRange(range);
} else {
var selection = window.getSelection();
selection.setBaseAndExtent(text, 0, text, 1);
}
}
$('#drag_area').hover(function(){
selectText('text');
});
Hier wird mit Anson-Lösung und ein kleines Feature Erkennung kombiniert:
http: // jsfiddle .net/zaqx/PB6XL/
(funktioniert in IE8, IE9 und allen modernen Browsern)
EDIT: Fiddle in den Kommentaren unten aktualisiert.
Haben Sie versucht, den String vor dem Einfügen in den href zu verschlüsseln? –
Nicht sicher, wie man es mit dem Ziehen macht, aber kopieren und einfügen arbeitet mit JS. Schauen Sie sich dieses jsFiddle an: http://jsfiddle.net/jRXMf/ Vielleicht hilft das? – ReLeaf
@andrew URI-Codierung ersetzt die Leerzeichen mit% 20, die nicht sehr nützlich ist. – Zaqx