亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用雙查詢字符串在地址欄中發送郵件

使用雙查詢字符串在地址欄中發送郵件

冉冉說 2023-12-14 15:28:41
我有一個非常簡單的 Node.js 視頻聊天,我用它來給我的朋友打電話。我希望它直接與郵件交互(打開已加載模板的郵件)。到目前為止我有這個:let obsPass = /* helpers.generateObsPassword() < randomly generated char */ 'zH1mA4pR2hF7wJ5'var text = location.href + '&obs=' + obsPass;window.open(`mailto:?subject=Join%20meeting&body=${text}`);有用!這封郵件的正文應該是https://example.com?room=myroom&obs=zH1mA4pR2hF7wJ5,但是,當我用它打開郵件時,正文沒有說https://example.com?room=myroom&obs=zH1mA4pR2hF7wJ5,它說https://example.com?room=myroom。我認為這與我擁有的雙查詢字符串(mailto:? 和 example.com?)有關,這導致瀏覽器認為該字符串&obs=zH1mA4pR2hF7wJ5正在應用于更大的“網站”,mailto:。有解決辦法嗎?我可以手動發送電子郵件,但我希望將其集成到我的網站中。謝謝!
查看完整描述

1 回答

?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

您需要在消息正文中對 URL 進行編碼。

而不是寫作

window.open(`mailto:?subject=Join%20meeting&body=${text}`);

window.open(`mailto:?subject=Join%20meeting&body=${encodeURIComponent(text)}`);

如果沒有這個,你的mailto:URL 最終將是

mailto:?subject=Join%20meeting&body=https://example.com?room=myroom&obs=zH1mA4pR2hF7wJ5

在 URL 查詢字符串中,&表示一個參數值的結束和下一個參數的開始。因此,該mailto:URL 在查詢字符串中具有subject、body和三個參數,參數obs值為。bodyhttps://example.com?room=myroom

如果您希望&后面的字符myroom成為 值的一部分body,那么您需要對其進行編碼。對它進行編碼可以防止郵件程序中的 URL 解析器將其解釋為 URL 中參數之一的結尾mailto:。body然后,您的郵件程序應該對從 URL參數中提取的值進行解碼,mailto:然后再將其放入電子郵件的消息正文中。


查看完整回答
反對 回復 2023-12-14
  • 1 回答
  • 0 關注
  • 168 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號