2017-07-26 68 views
0

我們正在通過網絡視圖訪問移動應用程序設計新功能。使用後退按鈕時保留自動完成結果

當用戶點擊來自應用程序菜單中的新觀點,一個Web視圖將打開,顯示包含有單一的文本輸入搜索表單按名稱搜索項的集合頁面。

此字段將自動完成類似於如何撰寫新郵件時,Gmail應用程序自動完成從用戶的聯繫人的電子郵件地址的方式。

在我們的例子中,當用戶選擇自動完成的結果之一,Web視圖加載所選結果的細節。

我的問題是,如果有可能實現當用戶點擊後退按鈕,他/她返回到前一頁,但自動完成建議仍然活躍

編輯1

我的問題的目的是要找出這是否可以用標準的技術來實現,如Web組件用別的東西結合起來,或者如果工作實現已經存在的組件集合中的提供。

如果不是這樣,我可以想象一種符合GIJOW建議的方法。

回答

0

你可以得到的輸入內容,並將其存儲在一個變量:,

<html> 
    <body> 
     <input id="query" type="text" value="My query text"/> 
    </body> 
</html> 

斯威夫特

let myValue = webView.stringByEvaluatingJavaScriptFromString("document.getElementById('myId').value") 

而且你如果在視圖控制器負載重新設置後,例如:

<form> 
Query <input type="text" id="query" name="Query" width="20"/> 
</form> 

在斯威夫特 -

func webViewDidFinishLoad(webView: UIWebView!) { 
let html = String(format: "%@%@%@", "document.getElementById('query').value = ", myValue, ";") 
self.wbView.stringByEvaluatingJavaScriptFromString(html) 
} 

或者,如果你也想保持的結果,可以存儲輸入文字,並通過負載時再次頁面查詢字符串傳遞。

+0

如果我是正確的,這個想法是存儲在web視圖側(iOS中的情況下,使用SWIFT)的結果,並在通過一次回動作重新加載頁面重新注入它。 但是,我的問題旨在發現現有的解決方案作爲Web組件或類似的;我現在要澄清我的問題 – Cec

+0

然後我不知道,但在這種情況下,我們必須刪除您的移動標籤,就好像我理解您希望在網絡端實現它一樣。在這種情況下,Mobile無關要求 – GIJOW

+0

我將移動標籤留下,因爲我不確定webview是否提供可通過完整的網絡瀏覽器訪問的所有平臺功能,例如, HTML5本地存儲可用於類似於您建議通過Swift執行的方法 – Cec

相關問題