javascript - 在 UIWebView 中暂停 JavaScript 执行

标签 javascript objective-c ios animation uiwebview

我将多个 UIWebView 并排放置到一个 UIScrollView 中。每个 UIWebView 都包含一个显示本地 HTML 文件的“网络浏览器” View 。不幸的是,我不知道如何在后台加载 web View ,同时防止或停止执行包含在 HTML 文件中的 JavaScript 函数。我的意思是“在后台”,因为我观看了前几个面板,与此同时,其余面板只是静默地延迟加载。我看到不同的应用程序(如 pugpig)这样做 - 它延迟加载 HTML 页面并停止 JavaScript 动画 - 它可以以某种方式停止 JavaScript 以动画化我在标签切换之间和此刻在我的 HTML 页面中经常使用的整个淡入淡出效果我加载面板它继续淡入淡出动画。

所以,问题是:

如何使用 Objective-C 代码暂停 JavaScript 动画并防止内存问题,以及如何在显示面板后继续淡入淡出动画?

最佳答案

您是否尝试过注入(inject)观察 onblur 的 JavaScript(即 - (NSString*) stringByEvaluatingJavaScriptFromString: (NSString *)script)和 onfocuswindow , 或 pageshowpagehideThis post为此提出了几个解决方案。

所以,你可以尝试类似的东西

$(window).blur(function(){
  // when the web view loses focus
});
$(window).focus(function(){
  // when the web view gains focus
});

如果失败,您可以尝试 pagehidepageshow事件:

function pageShown(evt)
{
    if (evt.persisted)
        // The page was just restored from the Page Cache
    else
        // The initial load. This is the same as the page load event
}

function pageHidden(evt)
{
    if (evt.persisted)
        // The page was suspended and placed into the Page Cache
    else
        // This is the same as the page unload event
}

window.addEventListener("pageshow", pageShown, false);
window.addEventListener("pagehide", pageHidden, false);

关于javascript - 在 UIWebView 中暂停 JavaScript 执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8946990/

相关文章:

C# 相当于 JavaScript "OR assignment"

javascript - HTML 表格不显示表格标题

objective-c - 在任何时间点获取 CABasicAnimation 中扩展圆的大小

ios - UIActivityIndi​​catorView 在 TableView 单元内

ios - 如何在 Swift 1.0 中覆盖 UIView 初始值设定项

php重新加载页面而不发布数据

c++ - Objective-C++ 错误 : Expected unqualified-id

ios - 如何拍摄照片然后将 iOS 应用程序最小化?

ios - 无法将 cer 文件导出到 .p12 文件,选项已禁用

javascript - 提交表单 不提交表单