Caret & browser

visualCaret.enabled#

Type: boolean

Default: true

Enables Redactor’s custom visual caret. The native caret in the contenteditable root is hidden and a positioned caret element in the main container follows the selection.

When false, only the browser’s native caret is used.

const app = Redactor('#entry', {
  visualCaret: {
    enabled: false
  }
});

The visual caret is automatically suppressed inside inline UI regions (AI prompt, review panels, schema fields, and similar). Plugins can register more exclusions with app.events.addVisualCaretExclude(selector).

visualCaret.useNativeDuringIME#

Type: boolean

Default: true

During IME composition (e.g. Japanese, Chinese input), temporarily shows the native caret and hides the visual one. Avoids caret glitches while composing text.

Set to false to keep the visual caret hidden during composition as well.

const app = Redactor('#entry', {
  visualCaret: {
    useNativeDuringIME: false
  }
});

spellcheck#

Type: boolean

Default: true

Controls the native spellcheck attribute on the editable root. When false, the browser does not underline spelling mistakes inside the editor.

const app = Redactor('#entry', {
  spellcheck: false
});

notranslate#

Type: boolean

Default: false

When true, adds the notranslate class to the editable root so automatic browser translation (e.g. Chrome translate) is less likely to alter editor content.

const app = Redactor('#entry', {
  notranslate: true
});

dir#

Type: 'ltr' | 'rtl' | string

Default: 'ltr'

Default text direction for the editable root (dir attribute). Also used as the default direction for UI layers such as dropdowns, statusbar, and callouts.

If the host element already has a dir attribute, that value takes precedence over this option.

const app = Redactor('#entry', {
  dir: 'rtl'
});

markup#

Type: string

Default: 'p'

Default HTML tag for plain text blocks: new paragraphs, default inserts, paragraphization on paste/input, and empty-document cleanup.

Common values: 'p' or 'div'.

const app = Redactor('#entry', {
  markup: 'div'
});

https#

Type: boolean

Default: false

Normalizes URLs to HTTPS where Redactor rewrites links and media paths:

  • Output — href, src, and srcset values starting with http:// are upgraded to https://
  • Autoparser — bare domains without a protocol get https:// instead of http://
const app = Redactor('#entry', {
  https: true
});

reloadmarker#

Type: boolean

Default: true

Adds a cache-busting query parameter when loading image lists from the server (image manager, templates, snippets). Helps avoid stale cached responses after the editor is reloaded with the same image URLs.

const app = Redactor('#entry', {
  reloadmarker: false
});