我们将实现一个混合应用程序,它使用内置的Safari视图(UIWebView)来处理一些社交内容。我们将使用一些智能Javascript库来处理页面上的一些UI内容,我们不希望一直从服务器加载库。
是否可以将一些* .js打包到应用程序包中,然后在浏览期间访问它?希望你能理解我的问题。
如果这种“混合模式”有效,也许我们可以打包一些常见的UI * .png-s。
答案 0 :(得分:0)
我相信你可以,你有几种可能性,比如:
你在UIWebView上有-stringByEvaluatingJavaScriptFromString:方法 - 我相信你可以执行你的js文件的内容......我不确定,但从未尝试过它......但它应该有效。
您可以创建NSURLProtocol的子类并注册http:// schema的子类。这样,您的类可以充当Internet和使用http://模式的任何组件之间的代理 - 您可以从本地缓存返回js和png文件。
您可以单独下载html内容,并将链接替换为本地file://链接,然后使用UIWebView显示此格式化字符串。
希望这有帮助。
答案 1 :(得分:0)
尝试
NSString *jsLibFile = [[NSBundle mainBundle] pathForResource:@"library" ofType:@"js"];
if (jsLibFile) {
NSString *libSrcTxt = [NSString stringWithContentsOfFile:jsLibFile];
if (libSrcTxt) {
webView stringByEvaluatingJavaScriptFromString:libSrcTxt;
}
}
(打开文件,在webView中评估JS。)