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

如何用jQuery/JS预填充动态加载输入框并触发指定Power Virtual Agent聊天流

解决方案

你之前通过jQuery修改输入框DOM的方案失效,是因为微软Web Chat基于React开发,输入框值由内部状态管理,手动修改DOM的内容会被React的状态同步逻辑覆盖,不需要操作DOM,直接通过Web Chat内置的store发送触发活动即可实现动态指定初始主题。

具体修改方案

直接修改你现有Web Chat初始化代码中的store逻辑,在DirectLine连接完成的回调中,发送对应主题的触发短语即可,支持静默触发(用户看不到发送的关键词),也可自定义根据当前页面动态生成触发词。

修改后的核心代码片段

const store = window.WebChat.createStore(
   {},
   ({ dispatch }) => next => action => {
       if (action.type === "DIRECT_LINE/CONNECT_FULFILLED") {
          // 保留原有的会话初始化事件(不需要可删除)
          dispatch({
              meta: {
                   method: "keyboard",
               },
               payload: {
                   activity: {
                         channelData: {
                              postBack: true,
                         },
                          name: 'startConversation',
                          type: "event"
                     },
                },
                type: "DIRECT_LINE/POST_ACTIVITY",
           });

           // 新增:发送主题触发短语
           // 可根据当前页面信息动态生成triggerKeyword的值,例如根据URL路径、页面参数判断
           const triggerKeyword = "red"; // 替换为你PVA中对应主题的触发短语
           dispatch({
                meta: {
                    method: "keyboard",
                },
                payload: {
                    activity: {
                        channelData: {
                            postBack: true, // 设为true则用户看不到这条发送的消息,体验更流畅;需要显示则改为false
                        },
                        text: triggerKeyword,
                        type: "message"
                    }
                },
                type: "DIRECT_LINE/POST_ACTIVITY"
            });
       }
       return next(action);
    }
);

动态匹配页面的示例

如果要根据用户当前访问的页面自动匹配不同的触发词,可以按以下逻辑自定义:

// 示例:根据页面路径匹配触发词
let triggerKeyword = "默认咨询";
if (location.pathname.includes('/product')) {
    triggerKeyword = "产品咨询";
} else if (location.pathname.includes('/order')) {
    triggerKeyword = "订单查询";
} else if (location.pathname.includes('/refund')) {
    triggerKeyword = "退款申请";
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:36:11