- From: Hallvord Reiar Michaelsen Steen <hsteen@mozilla.com>
- Date: Tue, 21 Apr 2015 00:09:29 +0200
- To: "James M. Greene" <james.m.greene@gmail.com>
- Cc: WebApps WG <public-webapps@w3.org>
- Message-ID: <CAE3JC2xVHnBB=KkbLV5PXS_V6nX3jgAOVrZ54don0D30RDTWxw@mail.gmail.com>
On Wed, Feb 11, 2015 at 7:21 PM, James M. Greene <james.m.greene@gmail.com>
wrote:
> The current spec still leaves me a bit unclear about if implementors must
> include the ability to feature detect Clipboard API support, which I think
> is a critical requirement.
>
I agree it's a very important requirement. And it sucks that we're still
struggling to find a good story..
Here's one (semi-random) idea: the interaction with APIs like
queryCommandEnabled() isn't really fleshed out yet. What if we mandate in
the spec that calling queryCommandEnabled must fire the corresponding
onbefore* event synchronously, and also recommend that this is only
implemented when the support for the other parts is ready to go?
The feature detection might then look a bit like this:
var modernClipboardImplementation = false;
document.onbeforecut = function(e){
e.preventDefault();
}
try{
if(document.queryCommandEnabled('cut')){
modernClipboardImplementation = true;
}
}catch(e){
modernClipboardImplementation = false; // yeah, likely not
necessary..
}
In other words: if the onbeforecut fires and you can prevent the default
action to tell the script using queryCommandEnabled() that cut is enabled,
we assume the implementation is top-notch. It probably includes
click-to-copy too.. ;)
Maybe not super-elegant, but not too convoluted either - and no
implementation I've tested so far does it.
-Hallvord
Received on Monday, 20 April 2015 22:09:57 UTC