javascript - 微信開發(fā)遇到的問題
問題描述
最近做微信公眾平臺(tái)開發(fā),就是微信的內(nèi)置瀏覽器遇到一些問題.當(dāng)我用微信的內(nèi)置瀏覽器打開我的網(wǎng)站后,連續(xù)點(diǎn)開了幾個(gè)頁面,我想實(shí)現(xiàn)'關(guān)閉當(dāng)前頁面'并把'當(dāng)前頁面的數(shù)據(jù)傳回父窗口',同時(shí)'父窗口不能刷新'
瀏覽器下的做法是可以的,如下:'關(guān)閉當(dāng)前頁面':window.close();'當(dāng)前頁面的數(shù)據(jù)傳回父窗口':window.opener...
但是在微信內(nèi)置瀏覽器下完全無效,請(qǐng)問是否有解決辦法?(微信內(nèi)置瀏覽器如何實(shí)現(xiàn)js關(guān)閉當(dāng)前頁面,并把數(shù)據(jù)帶回父窗口?)
問題解答
回答1:微信不能實(shí)現(xiàn)。
一個(gè)變通的方案就是,不要使用父子窗口,做單頁應(yīng)用(SPA)。
回答2:opener應(yīng)該是MS的產(chǎn)物,微信走的Webkit,引擎不同,可能webkit并沒有opener這東西。建議使用cookies.
回答3:首先,你的這個(gè)window.open不兼容吧,只有IE能關(guān)閉,微信瀏覽器是谷歌的內(nèi)核,還有一點(diǎn)就是如果要關(guān)閉微信窗口,引用微信的js:
<script src='http://res.wx.qq.com/open/js/jweixin-1.1.0.js'></script>
調(diào)用方式就是:
wx.closeWindow();
這樣就能關(guān)閉當(dāng)前窗口,但是數(shù)據(jù)無法帶回父窗口。
回答4:用jquery layer把,我開發(fā)的時(shí)候也遇到過這個(gè)問題,完美解決
相關(guān)文章:
1. 如何解決Centos下Docker服務(wù)啟動(dòng)無響應(yīng),且輸入docker命令無響應(yīng)?2. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?3. javascript - 音樂播放器-圖片旋轉(zhuǎn)4. objective-c - IOS 分享到微信 提示 應(yīng)用消息數(shù)據(jù)錯(cuò)誤5. android - 使用百度sdk調(diào)用SDKInitializer.initialize(this)時(shí)報(bào)錯(cuò)?6. MySQL timestamp的默認(rèn)值怎么設(shè)置?7. javascript - js中遞歸與for循環(huán)同時(shí)發(fā)生的時(shí)候,代碼的執(zhí)行順序是怎樣的?8. javascript - 微信h5發(fā)送圖文信息,部分設(shè)備點(diǎn)擊“發(fā)送”按鈕時(shí)沒反應(yīng),問題較難重現(xiàn),如何能找到可能存在問題的點(diǎn)?9. android - 為 AppBarLayout 設(shè)置的背景圖片 TransitionDrawable 為什么只在第一次打開的時(shí)候有效?10. docker 17.03 怎么配置 registry mirror ?
