Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用DirectLine时如何修改Microsoft Chatbot的webchat容器_Javascript_Botframework_Chatbot - Fatal编程技术网

Javascript 使用DirectLine时如何修改Microsoft Chatbot的webchat容器

Javascript 使用DirectLine时如何修改Microsoft Chatbot的webchat容器,javascript,botframework,chatbot,Javascript,Botframework,Chatbot,我有聊天机器人,我正在使用DirectLine将机器人嵌入我的网站。DirectLine UI看起来像一个白色背景的页面,我想修改它,使其看起来像下面的图像或靠近它的图像: 我正在跟踪样品 我可以更改容器的大小,但无法使用提供的代码更改聊天泡泡的字体或背景颜色。这是我的代码: <body> <div id="webchat" role="main"> </div> <script src="https://cdn.botframework.com/b

我有聊天机器人,我正在使用DirectLine将机器人嵌入我的网站。DirectLine UI看起来像一个白色背景的页面,我想修改它,使其看起来像下面的图像或靠近它的图像:

我正在跟踪样品

我可以更改容器的大小,但无法使用提供的代码更改聊天泡泡的字体或背景颜色。这是我的代码:

<body>
<div id="webchat" role="main">

</div>
<script src="https://cdn.botframework.com/botframework-webchat/latest/webchat.js"></script>
<!--<script src="webchat.js"></script>-->
<script>
    const styleSetOptions= window.WebChat.createStyleSet({
        bubbleBackground: 'rgba(0, 0, 255, .1)',
        bubbleFromUserBackground: 'rgba(0, 255, 0, .1)'
    });

    var d1 = window.WebChat.createDirectLine({ token: '<secret token>' })
    var siteDomain = document.URL
    window.WebChat.renderWebChat(
        {
            directLine: Object.assign(
                {},
                d1,
                {
                    postActivity: activity => {
                        var newActivity = Object.assign({}, activity, { channelData: { "siteDomain": siteDomain } });
                        return d1.postActivity(newActivity);
                    }
                }),
        styleSetOptions 
        },
        document.getElementById('webchat')
    );
</script>

const styleSetOptions=window.WebChat.createStyleSet({
泡泡背景:“rgba(0,0,255,1)”,
bubbleFromUserBackground:'rgba(0,255,0,1)'
});
var d1=window.WebChat.createDirectLine({token:''})
var siteDomain=document.URL
window.WebChat.renderWebChat(
{
directLine:Object.assign(
{},
d1,
{
后活动:活动=>{
var newActivity=Object.assign({},activity,{channelData:{“siteDomain”:siteDomain});
返回d1.后活动(新活动);
}
}),
样式集选项
},
document.getElementById('webchat')
);


这是行不通的。我已经下载了CDN
webchat.js
。我通过创建自己的JS文件并将其链接到我的
HTML
页面中,也在本地集成了它,但它不起作用。我错过什么了吗

您必须将创建的样式集传递给renderWebChat。您的样式集已创建,但未在任何地方使用

检查以下示例:

 const styleOptions = {
        bubbleBackground: 'rgba(0, 0, 255, .1)',
        bubbleFromUserBackground: 'rgba(0, 255, 0, .1)'
     };

     window.WebChat.renderWebChat(
        {
           directLine: window.WebChat.createDirectLine({
              secret: 'YOUR_BOT_SECRET'
           }),

           // Passing 'styleOptions' when rendering Web Chat
           styleOptions
        },
        document.getElementById('webchat')
     );

您必须将创建的样式集传递给renderWebChat。您的样式集已创建,但未在任何地方使用

检查以下示例:

 const styleOptions = {
        bubbleBackground: 'rgba(0, 0, 255, .1)',
        bubbleFromUserBackground: 'rgba(0, 255, 0, .1)'
     };

     window.WebChat.renderWebChat(
        {
           directLine: window.WebChat.createDirectLine({
              secret: 'YOUR_BOT_SECRET'
           }),

           // Passing 'styleOptions' when rendering Web Chat
           styleOptions
        },
        document.getElementById('webchat')
     );

您需要将
styleSetOptions
对象分配给
rederWebchat
方法的
styleOptions
属性,即

const styleSetOptions= window.WebChat.createStyleSet({
    bubbleBackground: 'rgba(0, 0, 255, .1)',
    bubbleFromUserBackground: 'rgba(0, 255, 0, .1)'
});

 window.WebChat.renderWebChat(
        {
            directLine: Object.assign(
                {},
                d1,
                {
                    postActivity: activity => {
                        var newActivity = Object.assign({}, activity, { channelData: { 
                      "siteDomain": siteDomain } });
                        return d1.postActivity(newActivity);
                    }
                }),
           styleOptions: styleSetOptions
        },
        document.getElementById('webchat')
    );

您需要将
styleSetOptions
对象分配给
rederWebchat
方法的
styleOptions
属性,即

const styleSetOptions= window.WebChat.createStyleSet({
    bubbleBackground: 'rgba(0, 0, 255, .1)',
    bubbleFromUserBackground: 'rgba(0, 255, 0, .1)'
});

 window.WebChat.renderWebChat(
        {
            directLine: Object.assign(
                {},
                d1,
                {
                    postActivity: activity => {
                        var newActivity = Object.assign({}, activity, { channelData: { 
                      "siteDomain": siteDomain } });
                        return d1.postActivity(newActivity);
                    }
                }),
           styleOptions: styleSetOptions
        },
        document.getElementById('webchat')
    );

我在
renderwebchat
中传递了样式选项,但它仍然没有显示更改。我已经更新了代码。这很奇怪,将styleSetOptions更改为styleOptions有效。我不知道这是一个特殊的词。我在
renderwebchat
中传递了样式选项,但它仍然没有显示更改。我已经更新了代码。这很奇怪,将styleSetOptions更改为styleOptions有效。我不知道这是一个特殊的词。