菜鸟教程小白 发表于 2022-12-13 09:45:19

objective-c - iOS 5 错误 : UIWebView and goBack and goForward


                                            <p><p>我在 iOS 5 中发现了一个错误。</p>

<p>当您使用 UIWebView 并访问某些网站时,您会创建历史链接,就像任何其他浏览器一样。</p>

<p>如果你喜欢使用导航栏,可以使用<code>goBack</code>和<code>goForward</code></p>功能

<p>在 iOS 4.3 及以下版本中,当您调用此函数时,程序会调用委托(delegate)函数</p>

<pre><code>webView:shouldStartLoadWithRequest:navigationType:
</code></pre>

<p>但在 iOS 5.0 中,这可能发生也可能不发生。如果站点在缓存中,则不会调用此函数。我看到这种情况只发生在 1 个级别(在 goBack 中单击 1 次,或者在 goFoward 中单击 1 次),在第二次单击时它传入函数。</p>

<p>他们为什么改变它????即使它在缓存中,程序也必须询问我.. 现在如何解决这个问题:我正在尝试使用浏览器历史记录创建堆栈并检查 url。但我有问题;(</p>

<p>没有别的办法吗? </p>

<ul>
<li>我看不到浏览器历史记录?我必须创建我的 ow 列表吗?</li>
<li>我无法清理缓存以强制它传入函数?</li>
</ul>

<p>有什么建议吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这不是错误,如果设备上有足够的可用 RAM,那么它会将一些页面保留在内存中,因此当您返回时不会再次“加载”它们。</p>

<p>您应该在自己的 Controller 上创建自己的 <code>goBack:</code> 和 <code>goForward:</code> 操作,并将 goBack/goForward 按钮链接到它们:</p>

<pre><code>- (IBAction)goBack:(id)sender
{
    ;

    ;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于objective-c - iOS 5 错误 : UIWebView and goBack and goForward,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/8056462/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/8056462/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: objective-c - iOS 5 错误 : UIWebView and goBack and goForward