微信開發(fā)中有這類需求,用戶點擊進入了公眾號某些頁面或操作菜單后進入特定頁面后,進行了某些操作如提交數(shù)據(jù),完成后我們就想直接關閉當前頁面,讓用戶直接回到公眾號對話窗口。而不是再麻煩用戶點擊左上角的返回按鈕甚至要點擊多次返回才能回到公眾號對話窗口。
百度后發(fā)現(xiàn)基本上提到的方法都沒法用了。
搜索微信公眾平臺wiki,在“微信JS-SDK說明文檔”里提到了有微信js sdk的api可以實現(xiàn)這個功能
具體網頁在這里?
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN
關閉當前網頁窗口接口
wx.closeWindow();
具體步驟是這樣的:
JSSDK使用步驟
先登錄微信公眾平臺進入“公眾號設置”的“功能設置”里填寫“JS接口安全域名”。
步驟二:引入JS文件
在需要調用JS接口的頁面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js
步驟三:通過config接口注入權限驗證配置
所有需要使用JS-SDK的頁面必須先注入配置信息,否則將無法調用。
wx.config({
debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數(shù),可以在pc端打開,參數(shù)信息會通過log打出,僅在pc端時才會打印。
appId: '', // 必填,公眾號的唯一標識
timestamp: , // 必填,生成簽名的時間戳
nonceStr: '', // 必填,生成簽名的隨機串
signature: '',// 必填,簽名,見附錄1
jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
});
這一步的關鍵是:這是異步,這一步成功以后才有wx對象可以使用來調用sdk里的api
步驟四:通過ready接口處理成功驗證
wx.ready(function(){
// config信息驗證后會執(zhí)行ready方法,所有接口調用都必須在config接口獲得結果之后,config是一個客戶端的異步操作,所以如果需要在頁面加載時就調用相關接口,則須把相關接口放在ready函數(shù)中調用來確保正確執(zhí)行。對于用戶觸發(fā)時才調用的接口,則可以直接調用,不需要放在ready函數(shù)中。
});
這一步就是在第三步完成后會調用wx.ready.說明此時wx對象已經可以用了,所以如果我們提交完數(shù)據(jù)就關閉當前頁時,我們就要這樣調用
wx.ready(function(){
wx.closeWindow();}
);
稍微完整的代碼如下:
<script>
wx.config({
debug: false,
appId: 'wxfa********',
timestamp:141233452145 ,
nonceStr: 'aetsgtact',
signature: '************',
jsApiList: ['closeWindow']
});
alert(\"提交成功!\");
wx.ready(function(){
wx.closeWindow();
});";
</script>
這樣就可以了