The following code, which worked well right up until I upgraded to windows 8.1 / Internet Explorer 11, is now throwing an error: "Unable to get property 'createRange' of undefined or null reference"
var SelectedData = window.external.menuArguments.document.selection.createRange().text;
Is there a fix / work around for this?
* Question updated below with newer code that is still not working ....
<html><head><title>-</title><script type="text/JScript">
function Launch()
{
var TheSelection = document.getSelection();
if(TheSelection != null)
{
.... do a bunch of stuff
}
window.close();
}
</script></head><body onload="Launch();" </body></html>
I have also tried window.getselection; window.getselection(); window.getselection().tostring();
none of these seem to work ...???
The documentation for document.selection
says right at the top:
selection is no longer supported. Starting with Internet Explorer 11, use getSelection. For info, see Compatibility changes.
Change document.selection.createRange().text
to document.getSelection()
.
The problem was exactly what I predicted. You are calling createRange()
on a null or undefined reference. Specifically, document.selection
is undefined. The error message said exactly what was wrong.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With