【问题标题】:Close UIWebView using javascript:window.close();使用 javascript:window.close() 关闭 UIWebView;
【发布时间】:2012-06-06 07:24:21
【问题描述】:

这个问题听起来很奇怪,但这是我的情况。

我的UIView 中有一个UIWebView(由[self.view addSubview:webView]; 完成),它占据了全屏。它故意在UIWebView 点击动作javascript:window.close(); 之前隐藏UIView

如何将 UIWebView 页面中的 JavaScript 与 UIView 的操作相关联,例如[webView removeFromSuperView];?

【问题讨论】:

    标签: javascript ios ios5 uiwebview


    【解决方案1】:

    这是可能的:

    在 url 中使用您自己的方案设置位置,即

    document.location.href = "myscheme://DoSomething"

    这将导致 UIWebViewDelegate 方法 shouldStartLoadWithRequest: 使用方案为“myscheme”的 NSURLRequest 参数调用。因此,您查找此方案并提取 DoSomething,然后对 DoSomething 采取行动,在您的情况下,这将是从 superView 调用 remove。

    (在 UIWebView dealloc 中可能需要确保调用 stopLoading)

    【讨论】:

    • 听起来它会起作用。让我做一个测试并回复你们。
    • 成功!实际上不需要使用 URL Scheme。只需在 URL 中创建一个模式,然后通过shouldStartLoadWithRequest: 读取[NSURL path] 中的模式。使用不同的逻辑处理模式(您甚至可以使用查询字符串传递变量(因为 coz ,POST 值无法读取)。
    猜你喜欢
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 2016-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多