加载非 http:// url 方案后的操作

manipulation after loading non http:// url scheme

我正在尝试创建一个加载应用程序的程序,然后可以像操作另一个 UIWebView 一样操作该应用程序(a.k.a。我想执行 javascript)。我认为这可能是可行的,因为您可以使用 webView 和 URL 方案加载它。但是,一旦加载应用程序,我似乎根本无法对其进行操作。这与以下事实密切相关:http:// 方案 webViewDidFinishLoad 被成功调用,但对于非 http:// 方案 webViewDidFinishLoad 未被调用..

这是我正在使用的一些代码:

let fb:NSURL! =  NSURL(string:"fb://feed");
webView.loadRequest(NSURLRequest(URL:fb));

... 以下函数仅在 http:// 方案上调用。

func webViewDidFinishLoad(webView: UIWebView) {

    print("hellO");
}

注意:正在成功加载 Facebook 提要(但完成加载方法

很遗憾,这是不可能的。

  • 出于安全原因,iOS 应用无法操纵其他应用,就像您可以在您控制的网络视图中操纵网页一样。
  • 由于技术原因,注入的 JavaScript 无法用于操纵典型的本机 iOS 应用程序,因为大多数应用程序都不是基于网络的。

iOS 应用可以提供的自定义 url 方案只能启动应用(从您的应用切换;不在网络视图内),并提供由其他应用程序(例如在您的示例中跳转到 Facebook 的提要)。

webViewDidFinishLoad 未被调用,因为 iOS 正在从您的应用程序切换到 Facebook 应用程序。