【问题标题】:Is it possible to load local Javascript libraries to an online page on iPhone?是否可以将本地 Javascript 库加载到 iPhone 上的在线页面?
【发布时间】:2011-02-16 08:53:16
【问题描述】:

我们将实现一个混合应用程序,它使用内置的 Safari 视图 (UIWebView) 来处理一些社交内容。我们将使用一些智能 Javascript 库来处理页面上的一些 UI 内容,并且我们不想一直从服务器加载这些库。

是否可以将一些 *.js 打包到应用程序包中,然后在浏览时访问它?希望你能理解我的问题。

如果这种“混合模式”有效,也许我们也可以打包一些常见的 UI *.png-s。

【问题讨论】:

    标签: javascript iphone safari uiwebview


    【解决方案1】:

    我相信你可以,你有几种可能性,比如:

    1. 你有 UIWebView 上的 -stringByEvaluatingJavaScriptFromString: 方法 - 我相信你可以执行你的 js 文件的内容......我不确定,虽然从未尝试过......但它应该可以工作。

    2. 您可以创建 NSURLProtocol 的子类,并为 http:// 模式注册您的子类。这样,您的类可以充当 Internet 和使用 http:// 架构的任何组件之间的代理 - 您可以从本地缓存返回 js 和 png 文件。

    3. 您可以单独下载html内容,并将链接替换为本地file://链接,然后使用UIWebView显示此格式化字符串。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      试试

      NSString *jsLibFile = [[NSBundle mainBundle] pathForResource:@"library" ofType:@"js"];
      if (jsLibFile) {
          NSString *libSrcTxt = [NSString stringWithContentsOfFile:jsLibFile];
          if (libSrcTxt) {
              webView stringByEvaluatingJavaScriptFromString:libSrcTxt;
          }
      }   
      

      (打开文件,并在 webView 中评估 JS。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-02
        • 1970-01-01
        • 2013-01-09
        • 2012-03-15
        • 2016-08-05
        • 2018-06-02
        • 2021-04-01
        • 2011-11-03
        相关资源
        最近更新 更多