[英]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.