闊別1年半之久,一個JavaScript和ios通信的想法終於被實現了(我不知作別人有沒有早就實現過~)。javascript
記得早期ios內嵌html作通信時,貌似作好的辦法只能是 ios經過url來截取頁面發送消息,可是這樣一來若是頁面框架對url的依賴比較高那麼就會出問題,而且頻繁改url,ios可能並不能攔截到每次的url。html
一個老外寫了一套利用該方法實現的js與ios通信的庫,原理基本仍是如此。不過貌似作了優化,url的變換不在webview裏,而是再後端跑了一個webview專門處理url的變化,我沒有深刻研究。這樣雖然解決了一部分問題,可是對於我來講聽上去就不怎麼舒服。java
後來在於ios的合做中據說,javascript發起的alert方法,ios能夠重寫。當時就一個機靈,那幹嗎不把alert重寫成能接受消息的入口呢?這樣一來只要商定好消息模式(好比alert一個參數表明普通alert,多個表明消息),這樣一來,js不就能直接和ios通信了嗎?ios端只要註冊多中方法來處理通信消息就能夠了。ios
因爲我基本沒有涉獵ios,因此當時找人印證,不過有的說不能實現,有的說有問題,有的也說能夠實現可是最終也沒給我實現。。。。 再後來ios7出來後,據說原來的alertview方法變了,當時就以爲快放棄了。web
事情擱置到今天,終於咱們ios部門一個經理聽了個人想法,很是認同的以爲能夠一試。我說了ios7的顧慮,他說只是換了個方法而已。沒多久,我先後等了1年半的通信協議終於實現了!並且驗證能夠,優缺點我就不說了,你們一想便知!特記錄下來記念!後端
無比的後悔當初沒研究下ios。框架