Miscellaneous
Miscellaneous features offered by Sircl to support various Web APIs.
Introduction
This section covers miscellaneous features offered by Sircl.
Clipboard
The Sircl extended library offers support for copying to clipboard by means of several attributes. They are implemented as Event-Actions of the onclick event.
Copy text
To copy fixed text, add a clickable element with the onclick-copytext
attribute who's value is the text to be copied:
<button type="button" onclick-copytext="[email protected]">
Copy the email address
</button>
Copy page content
To copy part of a page, add a clickable element with the onclick-copyinnertext
attribute who's value is a (relative) CSS selector to the element to copy the innerText from:
<button type="button" onclick-copyinnertext="#user-email-span">
Copy the email address
</button>
<span id="user-email-span">[email protected]</span>
Or if you want to copy the HTML source code, use the onclick-copyinnerhtml
attribute who's value is a (relative) CSS selector to the element to copy the innerHTML from
Copy input value
Finally, to copy the value of an input field or form control, use the onclick-copyvalue
attribute who's value is a (relative) CSS selector to the field or control to copy it's actual value from:
<button type="button" onclick-copyvalue="INPUT[name=Email]">
Copy the email address
</button>
<input type="email" name="Email" value="[email protected]"/>
Feature detection
The clipboard feature may not be available on all browsers or under certain conditions. The following classes can be used to show or hide page elements depending on whether the Clipboard API is supported by the browser:
ifcanuseclipboard-show
: the element decorated with this class is only visible if Clipboard API is supported by the browser or by a polyfill.ifcanuseclipboard-hide
: the element decorated with this class is only visible if Clipboard API is not supported by the browser or by a polyfill.
In addition, when clipboard operations are not supported by the browser, elements having any of the onclick-copy*
attributes will automatically be hidden.
Note that while the clipboard feature may be available in the browser, this does not guarantee copying will actually work. Several conditions must be met for the browser's Clipboard API to allow copying to the clipboard.
Sharing
The Web Share API offers a way to share text, URL and files to an arbitrary share target to be choosen by the user.
Sircl provides an easy way to integrate this API in you websites and applications using the onclick-share
attribute which is part of the Sircl extended library..
The onclick-share
attribute's value is a (relative) CSS selector to an element describing what to share.
The title of the data to share is taken from, in order of availability: the value of the data-share-title
attribute on the share element, the title
attribute on that element, or the current documents title.
The URL to share is taken from, in order of availability: the value of the data-share-url
attribute on the share element, the href
attribute on that element, or the current documents URL.
The text to share is taken from, in order of availability: the value of the data-share-text
attribute or the text content of the share element.
File sharing is currently not supported.
In this example, the share element is the share button itself (using the relative CSS selector ":this"). The data-share-text
attribute is set to avoid the button text to be the shared text:
<button type="submit" class="btn btn-link" onclick-share=":this" data-share-text="">
Share this page
</button>
Since no title or URL is specified, the title and URL of the current document are shared.
Feature detection
The Web Share API is not supported on all browsers. See CanIUse for details. The following classes can be used to show or hide page elements depending on whether the Web Share API is supported by the browser:
ifcanuseshare-show
: the element decorated with this class is only visible if Web Share API is supported by the browser or by a polyfill.ifcanuseshare-hide
: the element decorated with this class is only visible if Web Share API is not supported by the browser or by a polyfill.
In addition, on browers or platforms where sharing is not supported, the element holding the onclick-share
attribute (usually the share button or link) will be hidden.