tinymce5 插入内容 api
时间: 2024-06-11 20:08:59 浏览: 122
TinyMCE5的插入内容API可以用来在当前光标位置或指定位置插入HTML内容,包括文本、图片、链接等。
以下是一些常用的插入内容API:
1. `editor.insertContent(content: string, opts?: InsertContentOptions)`: 在当前光标位置插入HTML内容。
示例:
```javascript
// 在当前光标位置插入文本
editor.insertContent('Hello, World!');
// 在当前光标位置插入链接
editor.insertContent('<a href="https://www.example.com/">Example</a>');
// 在当前光标位置插入图片
editor.insertContent('<img src="https://www.example.com/image.png" alt="Example">');
```
2. `editor.setContent(content: string, opts?: SetContentOptions)`: 将指定HTML内容设置为编辑器的内容。
示例:
```javascript
// 将文本设置为编辑器的内容
editor.setContent('Hello, World!');
// 将链接设置为编辑器的内容
editor.setContent('<a href="https://www.example.com/">Example</a>');
// 将图片设置为编辑器的内容
editor.setContent('<img src="https://www.example.com/image.png" alt="Example">');
```
3. `editor.insertNode(node: Node): void`: 在当前光标位置插入指定的DOM节点。
示例:
```javascript
// 在当前光标位置插入一个段落
const p = document.createElement('p');
p.textContent = 'Hello, World!';
editor.insertNode(p);
// 在当前光标位置插入一个图片
const img = document.createElement('img');
img.src = 'https://www.example.com/image.png';
img.alt = 'Example';
editor.insertNode(img);
```
4. `editor.insertContentBefore(node: Node, content: string, opts?: InsertContentOptions)`: 在指定DOM节点的前面插入HTML内容。
示例:
```javascript
// 在指定节点的前面插入文本
const node = editor.selection.getNode();
editor.insertContentBefore(node, 'Hello, World!');
// 在指定节点的前面插入链接
editor.insertContentBefore(node, '<a href="https://www.example.com/">Example</a>');
// 在指定节点的前面插入图片
editor.insertContentBefore(node, '<img src="https://www.example.com/image.png" alt="Example">');
```
5. `editor.insertContentAfter(node: Node, content: string, opts?: InsertContentOptions)`: 在指定DOM节点的后面插入HTML内容。
示例:
```javascript
// 在指定节点的后面插入文本
const node = editor.selection.getNode();
editor.insertContentAfter(node, 'Hello, World!');
// 在指定节点的后面插入链接
editor.insertContentAfter(node, '<a href="https://www.example.com/">Example</a>');
// 在指定节点的后面插入图片
editor.insertContentAfter(node, '<img src="https://www.example.com/image.png" alt="Example">');
```
6. `editor.insertContentAt(pos: CaretPosition | Node | string, content: string, opts?: InsertContentOptions)`: 在指定位置插入HTML内容。
示例:
```javascript
// 在指定位置插入文本
const pos = { node: editor.getBody(), offset: 0 };
editor.insertContentAt(pos, 'Hello, World!');
// 在指定位置插入链接
const node = editor.getBody().querySelector('p');
editor.insertContentAt(node, '<a href="https://www.example.com/">Example</a>');
// 在指定位置插入图片
const node = editor.getBody().querySelector('p');
editor.insertContentAt(node, '<img src="https://www.example.com/image.png" alt="Example">');
```
阅读全文