【问题标题】:iOS UIWebView does not detect javascript when browsing a about:blank urliOS UIWebView 在浏览 about:blank url 时未检测到 javascript
【发布时间】:2016-01-06 06:32:41
【问题描述】:

在适用于 iPhone 和 iPad 的 iOS 应用程序中,我有一个 UIWebView,用于显示我的 Web 应用程序。在我的网络应用程序中,我有一个链接/按钮,它打开一个新窗口(window.open)。这个新窗口没有 URL。在这个窗口中,我有一些 JavaScript 和 Jquery,但它在 UIWebView 中不起作用。它在 safari 和 androids 设备中运行良好。我正在用 Swift 编码。

【问题讨论】:

    标签: jquery ios swift web-applications uiwebview


    【解决方案1】:

    如果您的目标是 iOS 8 及更高版本,请尝试使用 WKWebView。也许你需要使用 WKWebView 控制器的委托来确保在执行 JS 代码之前加载所有内容。

    示例代码:

    import UIKit
    import WebKit
    
    class AboutViewController: UIViewController, WKNavigationDelegate {
    
        override func viewDidLoad() {
            super.viewDidLoad()
            let webView = WKWebView()
            webView.navigationDelegate = self
    
            let url = NSURL(string: "http://www.yoursite.com")
            let request = NSURLRequest(URL: url!)
            webView.loadRequest(request)
    
            view = webView
        }
    
        func webView(webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
            // the page begins to load... do what you want here (maybe an indicator to say it is loading...)
        }
    
        func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) {
            // the page is done loading. do what you need here
        }
    
     }
    

    【讨论】:

    • 感谢您的回复。我尝试使用 WKWebView 但同样的问题。我应该使用哪个代表。你能举个例子吗。 @yonatanvainer
    • 感谢您的回答@yonatanvainer。我仍然对在委托方法中应该做什么感到困惑。当我在我的网站中单击此按钮时,它会在 Web 应用程序中打开一个新窗口。此窗口没有 URL。好吧,网址是关于:空白。而且这个网站有一些 javascript,这个 javascript 代码在 iOS UIWebView 中不起作用。
    猜你喜欢
    • 2012-12-30
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多