我正在创建一个 iOS5 应用程序(使用 Objective-C 编程),它提供了几个功能。其中之一是允许用户使用 JavaScript 填写文本字段。当用户按下“测试”按钮时,我希望它保存到一个特定的 JS 文件并移动到一个新 View ,显示一个 HTML 页面,该页面将在 canvas 元素上显示该 JavaScript 的结果。
不幸的是,我不知道如何将文本字段保存到 JS 文件。我也不知道这是否真的是实现我所追求的结果的最佳方式。
所以谁能告诉我我需要将代码放在测试按钮的 IBAction
中以保存文件,或者是否有更好的方法将用户的脚本放入 HTML带有 Canvas 元素的文件?
最佳答案
您有一些选择可以做到这一点。
在 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中有更多信息
关于objective-c - 将用户编辑的文本字段保存到 iOS 中的 .js 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8064579/