You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drift:捕获Iframe中Drift聊天机器人的textarea事件

捕获Drift聊天机器人输入框值的可行方案

方案一:监听输入框实时输入值

Drift的聊天输入框是动态生成的DOM元素,你可以通过MutationObserver监听页面DOM变化,找到对应的textarea后绑定input事件来捕获实时输入内容:

// 监听DOM变化以定位Drift输入框
const observer = new MutationObserver((mutations) => {
  mutations.forEach(mutation => {
    if (mutation.addedNodes.length) {
      const driftTextarea = document.querySelector('textarea[data-testid="drift-message-input"]');
      if (driftTextarea && !driftTextarea.dataset.listenerAttached) {
        driftTextarea.dataset.listenerAttached = 'true';
        driftTextarea.addEventListener('input', e => {
          console.log('实时输入值:', e.target.value);
          // 这里可自行处理捕获到的输入内容
        });
      }
    }
  });
});

observer.observe(document.body, { childList: true, subtree: true });

⚠️ 注意:这种方式依赖Drift的DOM结构(比如示例中的选择器),如果Drift后续更新页面布局,可能需要调整选择器来适配。

方案二:监听官方「用户发送消息」事件

这是更稳定的官方方案,直接通过Drift提供的全局事件监听捕获用户发送后的消息内容,无需操作DOM:

// 绑定Drift的消息发送事件
window.drift.on('message:sent', event => {
  console.log('用户发送的消息:', event.data.body);
  // event.data包含消息完整信息,比如body是消息文本、userId是用户标识等
});

你提到的官方文档里的「用户发送消息」事件,就是通过这种方式触发的,只要页面已加载Drift脚本,就能通过window.drift.on绑定该事件。

内容的提问来源于stack exchange,提问作者ks1705

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 16:51:15