2011-12-08 40 views
1

我還沒有編寫iOS應用程序,想要知道在我投入全部時間之前,我想要做的事情是否相當簡單。這個想法只是利用內置的webkit方法編寫我自己的瀏覽器。我已經看過教程,這很容易完成。然而,扭曲是我想在頁面呈現之前應用一些重寫/正則表達式規則。即加載http://example.com,這是一個包含單詞'foo'的頁面。在顯示頁面之前,應用程序會將'foo'重寫爲'bar'並呈現。iOS的HTML重寫?

如果不真的寫一個底層的瀏覽器,這可能很容易做到嗎?

謝謝!

+0

首先,你不能創建自己的瀏覽器,而不是基於iPhone的WebKit。其次,做到這一點的唯一方法是在頁面加載後javascript____,這不會是你想要的。 –

+0

好吧,所以這有點衝突與其他答案...我很好,使用webkit,但希望重寫*之前*頁面加載。這是不可能的? – jwebm

+0

這是,但它可能會導致加載頁面時出現許多問題,特別是如果加載時間是主要問題。 –

回答

1

這是可行的(假設您使用標準的UIWebView組件來渲染頁面),並且有幾種方法可以解決這個問題。其中:

  • 您可以下載HTML和裝載到一個UIWebView之前通過的Objective-C字符串處理函數解析它
  • 您coud原樣使用加載HTML和使用的UIWebView的stringByEvaluatingJavaScriptFromString:消息「注入「javascript到頁面上,操縱DOM本身
  • 您可以去Opera路由,並在將其下載到客戶端之前通過服務器端代理預渲染頁面。

當然,你想走多遠的兔子洞將取決於你。容易在旁觀者的眼中。

+0

真的,如果我可以保持在寫一個Firefox插件的複雜程度,我會很高興。基本上,我真的很討厭在我的桌面上,我用firefox加載了大量有用的插件,我必須在iOS上放棄這些插件。所以,這是一個'必要性是發明的母親'類型的場景 - 我想爲自己。我想我會嘗試一下,因爲看起來有可能,而不必爲此付出生命! – jwebm

+0

@jwebm如果你能想出一個漂亮的插件兼容的瀏覽器,那將是非常棒的,特別是如果它像GreaseMonkey。 –

+0

當然,讓一個「可插拔」的瀏覽器進入App Store將會是一個完全不同的故事......蘋果公司並不喜歡允許腳本或其他「運行時解釋」的應用程序。 –