In HTML, any element can be editable. By using some JavaScript event handlers, you can transform your web page into a full and fast rich text editor. This article provides some information about this functionality.

All you have to do is set the attribute on nearly any HTML element to make it editable.

Use of
contenteditable
across different browsers has been painful for a long time because of the differences in generated markup between browsers. For example, even something as simple as what happens when you press Enter/Return to create a new line of text inside an editable element was handled differently across the major browsers (Firefox inserted elements, IE/Opera used , Chrome/Safari used
<div>
).

Fortunately, in modern browsers things are somewhat more consistent. As of
Firefox 60
, Firefox will be updated to wrap the separate lines in
<div>
elements, matching the behavior of Chrome, modern Opera, Edge, and Safari.

Try it out in the above example.

Note
: Internet Explorer, which is no longer being developed, uses elements instead of .

If you want to use a different paragraph separator, the above browsers all support
document.execCommand
, which provides a
defaultParagraphSeparator
command to allow you to change it. For example, to use elements:

Additionally, Firefox supports
non-standard
argument,
br
, for
defaultParagraphSeparator
since Firefox 55. This is really useful if your web application supports the older Firefox behavior with checking whether the browser is Firefox and unfortunately, you don't have much time to fix your web application for newer Firefox, you can take the older Firefox behavior back with inserting this line when you initializes
designMode
or
contenteditable
editor:

The new unified Windows Dev Center dashboard lets you manage and submit all of your apps for Windows devices in one place. See
Using the unified Windows Dev Center dashboard
to learn how to submit your apps for publication in the Microsoft Store.

If you're building a Universal Windows Platform (UWP) app, then you can get a lot of mileage and convenience out of treating the terms "Universal Windows Platform (UWP)" and "Windows Runtime (WinRT)" as more or less synonymous. But it
is
possible to look under the covers of the technology, and determine just what the difference is between those ideas. If you're curious about that, then this last section is for you.

The Windows Runtime, and WinRT APIs, are an evolution of Windows APIs. Originally, Windows was programmed via flat, C-style Win32 APIs. To those were added COM APIs (
DirectX
being a prominent example). Windows Forms, WPF, .NET, and managed languages brought their own way of writing Windows apps, and their own flavor of API technology. The Windows Runtime is, under the covers, the next stage of COM. At the actual application binary interface (ABI) layer, its roots in COM become visible. But the Windows Runtime was designed to be callable from a great range of different programming languages. And callable in a way that's very natural to each of those languages. To this end, access to the Windows Runtime is made available via what are known as language projections. There is a Windows Runtime language projection into C#, into Visual Basic, into standard C++, into JavaScript, and so on. Furthermore, once packaged appropriately (see
Desktop Bridge
), you can call WinRT APIs from an app built in one of a great range of application models: Win32, .NET, WinForms, and WPF.

View this table:

Table 1

Symptom diary. For each symptom choose the degree of affectation in the last 24 hours, according to the following Table of Codes.

Secondary endpoints

Adverse events in the two study groups.

Antibiotic consumption. This information was collected in the symptom diaries and also by the pharmacy units of the different healthcare systems.

Patient satisfaction with healthcare by means of a questionnaire with a Likert scale.

Patient belief in the effectiveness of antibiotics by means of a questionnaire with a Likert scale.

Complications related to the RTIs were registered during the first 3 months after randomisation. As in the recent study by Gulliford
et al
, we considered the cases of pneumonia, empyema, peritonsillar abscess, mastoiditis, otitis media, bacterial meningitis and intracranial abscess.
40
These complications were prospectively recorded by the GPs by means of a standardised questionnaire and were reported within a maximum of 48 hours to the study clinical coordinator, who reported to the Safety and Data Monitoring Committee, which assessed the safety of the two strategies.

Sample size calculation

Excellence guidelines for the treatment of RTIs included estimates of average duration of the illness (before and after seeing a doctor) of 1 week for acute sore throat, one and a half weeks for rhinosinusitis, including common cold and 3 weeks for acute cough or bronchitis.
39
In a recent study on the effectiveness of delayed prescribing strategies carried out in Spain, the mean duration of severe symptoms in uncomplicated acute RTIs including acute sore throat, rhinosinusitis and acute bronchitis, among patients not treated with antibiotics was 4.7 days (SD of 3.6).
39
Considering a reduction of 1 day in the duration of severe symptoms as a clinically relevant outcome, with a bilateral approximation, a sample of 240 patients per group was able to detect this difference with an alpha error of 5% and a power of 80% (beta=0.2), considering 15% of losses (based on the percentage of patients who did not return symptom diaries in a previous study).
39
In terms of the number of investigators to be included in this clinical trial, we anticipated that over a 2-year period each GP wouldinclude 32 patients. Thus, we are planning to invite 15 GPs from 10 different healthcare centres.

The patients were randomised to one of the two treatment strategies. Baseline data were collected in the clinic by the physician or with the help of the nursing staff. To standardise data collection, all of the participating healthcare professionals were trained by the coordinating centre. Only experienced GPs (those who have worked for 15–25 years) and those who feel comfortable with the design of the study participated in the study. This was achieved by the administration of a questionnaire with clinical questions, recommendations of local guidelines and vignettes to check if they were confident and comfortable with the strategy of stopping an already commenced antibiotic course. The patients received information on the study and, if they were interested in participating, they provided with an informed consent form to read and sign. A maximum length of 15–20 min was expected for the interview and the introduction of the data. The study scheme and the visit programme were explained to the patient (
table 2
). GPs filled out a screening log with all the patients who met all the inclusion criteria and none of the exclusion criteria regardless of whether the patients consent to participate or not. This allowed us to evaluate the percentage of patients who accepted to participate in the trial and determined the reasons why they did not wish to participate if they refuse.