HTML 頁面構造 sms: 協議鏈接預填短信內容:
<a href="sms:電話號?body=文字">發送短信</a>
點擊後跳轉短信應用,**中文內容變成 %E6%88%91%E6%AD%A3%E5%9C%A8... 這類 URL 編碼字符**,而非可讀文本。
sms: 協議規定 body 參數**必須 URL 編碼**(RFC 5724)。<meta charset="utf-8" />
<script>
function createSmsLink(phone, text) {
var encoded = encodeURIComponent(text); // 關鍵:手動編碼
return 'sms:' + phone + '?body=' + encoded;
}
// 使用
document.getElementById('send_out').href = createSmsLink('10086', '我正在註冊...');
</script>
優勢:統一編碼行為,不依賴瀏覽器自動處理。
sms: 並自動解碼,通常無問題。if (navigator.share) {
navigator.share({
title: '分享',
text: '我正在註冊...'
}).catch(console.error);
} else {
// 降級到 sms: 鏈接
}
或 Android 專用 intent: 協議:
intent:#Intent;action=android.intent.action.SENDTO;data=smsto:10086;extra=body%3DI%20am%20registering;end
<meta charset="utf-8">。encodeURIComponent() 手動編碼 body 參數。<meta charset="utf-8" />
<a href="sms:10086?body=%E6%88%91%E6%AD%A3%E5%9C%A8%E6%B3%A8%E5%86%8C"
class="active_show_btn" id="send_out">發送短信</a>
<script>
// 動態生成更安全
var text = '我正在註冊...';
document.getElementById('send_out').href = 'sms:10086?body=' + encodeURIComponent(text);
</script>