【问题标题】:Webview loadRequest not workingWebview loadRequest 不起作用
【发布时间】:2013-01-07 14:27:04
【问题描述】:

在我的应用程序中,我使用 Webview 根据用户的首选语言加载不同版本的网站。为此使用 WebFrame 的 loadRequest 方法 -

[[aWebView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:aStr]]];

如果 aStr 仅包含英文字母,即如果 aStr = http : // ....../language/English ,则其工作正常且网页加载。但如果 aStr 类似于 http://....../language/ウンウンウン(Japanese),则不会发生任何事情,WebView 既不会加载,也不会引发任何错误。如果我在 Safari 中粘贴相同的链接,则网页会在那里加载。有关如何解决此问题的任何建议?

我也尝试过 [aWebView setMainFrameURL:aStr] 方法。那里也有同样的问题。

【问题讨论】:

    标签: macos cocoa


    【解决方案1】:

    您必须先转义aStr 中的无效URL 字符,然后才能使用[aStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] 创建NSURL。

    //Encode invalid URL characters
    aStr = [aStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
    [[aWebView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:aStr]]];
    

    URLWithString: 如果字符串无效,则返回 nil 值。这就是为什么您的 UIWebView 没有错误并且不加载任何内容的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-15
      • 1970-01-01
      • 2023-03-23
      • 2012-12-29
      • 2011-06-27
      • 2018-11-09
      • 2012-08-05
      • 1970-01-01
      相关资源
      最近更新 更多