2011-11-09 32 views
0

我正在創建iOS5應用程序(在Objective-C中編程),它提供了一些功能。其中之一是允許用戶使用JavaScript填寫文本字段。當用戶按下「測試」按鈕時,我希望它保存到特定的JS文件並移動到新的視圖,顯示一個HTML頁面,該頁面將在畫布元素上顯示該JavaScript的結果。將用戶編輯的文本字段保存到iOS中的.js文件中

不幸的是,我不知道如何保存到JS文件的文本字段。我也不知道這是否是實現我所追求結果的最佳方式。

因此,任何人都可以告訴我我需要放在我的測試按鈕的IBAction以保存文件的代碼,或者是否有更好的方法將用戶的腳本放入帶有canvas元素的HTML文件中?

回答

2

你有一些選擇來做到這一點。

在WebView中添加回調僅適用於桌面應用程序,但您可以制定解決方法。

1-設置一個處理程序在javascript中單擊;

2-此處理程序通過windows.location解析值(試圖更改當前的url);

3-在UIWebviewDelegate中設置webView:shouldStartLoadWithRequest:navigationType:以識別javascript解析的這些值並返回NO(取消url更改)。

當你有用戶鍵入的代碼後,更容易傳遞給新的UIWebView。您可以通過NSData或其他類保存文件並通過路徑加載,或者您可以直接解析通過NSString顯示的代碼。

編輯

我,還是,相信了我說的是你想要什麼,但有一點更多的信息。是的,3 NSString可能會解決你的問題。您甚至可以通過objective-c在JavaScript中調用eval,並解析用戶代碼。這些邏輯思想是一個很好的趨勢。你可以爲你選擇更容易。

有這另一個Q&A

+0

問答似乎更多地是從現有的JavaScript訪問Objective-C數據?我試圖讓用戶寫下JavaScript文件,然後將其保存爲JS文件,並通過預先存在的HTML頁面加載到下一個視圖中,我真的試圖儘可能簡單。 – FreelancerJ

+0

一位朋友建議我可能只有三個NSStrings,一個是不可變的,它具有JavaScript之前的所有HTML(doctype,title等),一個可變的然後包含用戶的JavaScript,以及一個最終不可變的包含頁面的其餘部分,它們連接在一起,然後可以作爲頁面源發送到UIWebView。這聽起來對你有用嗎? – FreelancerJ

+0

非常感謝! :) – FreelancerJ

0

更多信息您可以使用HTML 5的本地存儲爲。

+0

這整個應用程序是在Objective-C中,有沒有一種方法可以在我現有的代碼中無縫地使用HTML5元素? – FreelancerJ

相關問題