簡體   English   中英

MS Bot獲取當前頁面網址

[英]MS Bot get current page url

我已經使用MS Bot SDK創建了一個機器人。 然后,我要獲取托管機器人的頁面URL。 我只是將腳本注入到頁面中以托管該機器人。 但是,有誰知道如何從C#獲取當前頁面URL嗎?

我可以看到有人試圖使用Activity來獲取URL,但是我找不到來自Activity的正確屬性。

我只是將腳本注入到頁面中以托管該機器人。 但是,有誰知道如何從C#獲取當前頁面URL嗎?

如果您將Webchat嵌入到網站中,並且想要獲取嵌入Webchat的網頁的URL,則可以嘗試以下方法獲取URL並將其傳遞給您的機器人。

將網址傳遞給機器人:

<script>
    var urlref = window.location.href;

    BotChat.App({
        directLine: { secret: "{directline_secret}" },
        user: { id: 'You', pageurl: urlref},
        bot: { id: '{bot_id}' },
        resize: 'detect'
    }, document.getElementById("bot"));
</script>

在機器人應用程序中檢索URL:

if (activity.From.Properties["pageurl"] != null)
{
    var urlref= activity.From.Properties["pageurl"].ToString();
}

ChannelData旨在支持將自定義信息從客戶端發送到機器人,然后再發送回來。 與費瀚的答案類似,您可以攔截傳出的消息並為發送的每個活動提供自定義ChannelData。

<script>

    var dl = new BotChat.DirectLine({
        secret: 'yourdlsecret',           
        webSocket: false,
        pollingInterval: 1000,
    });

    var urlref = window.location.href;

    BotChat.App({
        botConnection: {
            ...dl,
            postActivity: activity => dl.postActivity({
                ...activity,
                channelData: { pageurl: urlref }
            })
        },
        user: { id: 'userid' },
        bot: { id: 'botid' },
        resize: 'detect'
    }, document.getElementById("bot"));
</script>

然后,在bot中:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM