W3C home > Mailing lists > Public > public-webapps@w3.org > April to June 2015

Re: [clipboard] Feature detect Clipboard API support?

From: Hallvord Reiar Michaelsen Steen <hsteen@mozilla.com>
Date: Tue, 21 Apr 2015 00:09:29 +0200
Message-ID: <CAE3JC2xVHnBB=KkbLV5PXS_V6nX3jgAOVrZ54don0D30RDTWxw@mail.gmail.com>
To: "James M. Greene" <james.m.greene@gmail.com>
Cc: WebApps WG <public-webapps@w3.org>
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

This archive was generated by hypermail 2.3.1 : Friday, 27 October 2017 07:27:31 UTC