vue 怎么执行接口返回的包含script标签代码
时间: 2024-03-22 08:37:39 浏览: 19
在 Vue 中执行接口返回的包含 script 标签的代码,可以使用 `vm.$nextTick()` 方法和 `document.createElement('div')` 方法。
首先,将包含 script 标签的代码插入到 DOM 中,例如:
```javascript
this.$refs.container.innerHTML = response.data.content;
```
然后,在 `vm.$nextTick()` 回调函数中,找到包含 script 标签的代码,将其转换为 DOM 元素,并将其插入到 DOM 中,例如:
```javascript
this.$nextTick(() => {
const container = this.$refs.container;
const scripts = container.getElementsByTagName('script');
for (let i = 0; i < scripts.length; i++) {
const script = scripts[i];
const scriptEle = document.createElement('script');
if (script.src) {
scriptEle.src = script.src;
} else {
scriptEle.innerHTML = script.innerHTML;
}
container.appendChild(scriptEle);
script.parentNode.removeChild(script);
}
});
```
这样就可以执行接口返回的包含 script 标签的代码了。需要注意的是,为了避免 XSS 攻击,需要确保接口返回的代码是可信的。