在本机 iPhone 应用程序中的 UIWebView 中使用 InnerHTML 是否存在错误?

2024-02-24

我有一个相当大的 HTML/JS/CSS 应用程序,在 iPhone 上使用 Safari 作为 Web 应用程序运行时效果非常好。

当在本机 iPhone 应用程序中的 UIWebView 中运行相同的应用程序时,在 jQuery 中调用创建 HTML 片段会失败(即:$("<div>HELLO WORLD</div>");不会创建该元素。

我已经在干净的 jQuery 方法中找到了以下等效代码片段:

var div = document.createElement(“div”); div.innerHTML = “<div>HELLO WORLD</div>”;

当我看着div.outerHTML I see <div>/<div>

div.innerHTML返回一个空字符串。

这似乎不是 jQuery 问题,也不是 100% 都会发生。我没能找到一个模式,但在某些情况下它连续工作 2-3 次,有时连续失败 5-6 次。这似乎仅在 Objective-C 应用程序中的 UIWebView 内运行应用程序时才会出现。另外,我只在运行 iOS 4.2 的实际设备上看到过这一点,而不是在模拟器上。

有人遇到过类似的事情吗?有人有解决办法吗?


我也有这个问题。当手机的 CPU 非常繁忙(比如 100%)时,就会发生这种情况。然后渲染引擎有时会忘记innerHTML设置。

我的解决方案包含在统一项目 http://www.unify-training.com就是测试childNodes中是否有元素,否则再次应用。

var target = document.createElement("div");
var text = "<div>Hello World</div>";
target.innerHTML = text;
var self = this;
self.__intervalHandle = window.setInterval(function() {
  target.innerHTML = text:
  if (target.firstChild) {
    window.clearInterval(self.__intervalHandle);
    self.__intervalHandle = null;
  }
}, 100);

这会强制渲染引擎将innerHTML应用到DOM,并给渲染引擎一些时间(本例中为100毫秒,在我们的测试中是一个很好的值)来处理它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在本机 iPhone 应用程序中的 UIWebView 中使用 InnerHTML 是否存在错误? 的相关文章

随机推荐

  • 为静态 sqlite3* 句柄调用 sqlite3_close

    我想在 Objective C 中提供对 sqlite 数据库的访问 我不希望调用者担心数据库本身 所以我打算在我的 DataStore m 中做这样的事情 import DataStore h import
  • 如何将项目推送到 Vuejs 数据对象的数组中? Vue 似乎没有关注 .push() 方法

    我正在尝试将对象添加到我在 Vue 实例数据对象中声明的数组中 我可以在状态的购买对象中设置值 但是当我将数据推送到订单队列数组中时 不会填充空数组 函数正在被触发 但数组没有更新 这是我的表格
  • 如何在Eclipse插件中以编程方式设置TextEditor的字符串输入?

    我想要的是 我想为我的 Eclipse 编辑器插件编写 JUnit 测试 为此我想设置一个我的实例TextEditor扩大 然后我想设置这个的输入TextEditor来自字符串 因此字符串的内容是编辑器实例的输入 然后我想运行一些测试并断言
  • ISR 和中断处理程序之间有区别吗?

    我正在研究操作系统 并且遇到了 ISR 和中断处理程序这两个术语 它们是同一机制的两个词吗 如果不是 有什么区别 中断处理程序和 ISR 没有区别 Wiki http en wikipedia org wiki Interrupt hand
  • 如何保持Javascript数组排序,而不对其进行排序

    我有一个 Node js 应用程序 我必须经常执行以下操作 检查特定数组是否已包含特定元素 如果元素确实存在 则更新它 如果元素不存在 则将其推入数组 然后使用下划线 sortBy对其进行排序 为了检查该元素是否已存在于数组中 我使用这个二
  • 资源解释为样式表但使用 mime 类型文本普通问题进行传输?

    我正在 Apache 2 2 中工作 我的本地主机打开了我的网页 但没有应用 CSS 也没有加载背景图像 我不知道为什么 使用 Chrome 开发者工具时 我收到以下警告 resource interpreted as stylesheet
  • Delphi 7 到 Delphi XE2 .res 文件问题

    当我在 Delphi XE2 中打开 Delphi 7 项目并打开项目选项时 出现错误 Unable to set Icon Cannot open file AppName Icon ico The system cannot find
  • 在深度嵌套的目录树中定义子项目

    如何在嵌套目录树中定义子项目 其中子项目文件夹不是根项目的直接子项目 root lala A lulu B 现在我想将 A 和 B 添加为子项目 如果我做 settings gradle include lala A lulu B 然后 l
  • AFNetworking SSL 固定过期证书

    如果 iOS 应用程序使用 ssl pinning 如何更新过期的 ssl 证书 似乎只有应用程序更新才能更新证书 但不更新应用程序的用户将不会收到此更新 关键是要理解可能的值 https github com AFNetworking A
  • 如何在文档中嵌入作用域 html (css)

    我需要能够将从远程 api 获取的 HTML 片段 嵌套元素和 CSS 嵌入到我的文档中 这样它们的 CSS 就不会影响我的整个文档 我需要获取 随机 gmail 消息 HTML 并将它们嵌入到我的网站中 问题是大多数消息都有 CSS 标签
  • ES6 中的二维数组

    长话短说 我正在寻找一种使用 ES6 创建和填充 2D 数组的方法 以避免for循环 创建的数组应包含全 0 我尝试了很多不同的方法 所以我无法发布所有这些方法 var r c 5 5 var m Array r fill Array c
  • 如何阻止 Visual Studio“总是”检查解决方案文件?

    显然没有任何原因 每次我打开解决方案时 Visual Studio 都会检查 sln 文件 如果我将它与以前的版本进行比较 没有任何变化 但这确实令人沮丧 因为每个人都检查了解决方案 我使用的是 VS 2008 和 TFS 2008 都是
  • IOS UIImageView 显示为黑色背景

    所以我有这个可扩展的函数UIImages 我用它来初始化UIImageView带有图像 我的问题是 当显示图像时 它周围总是有一个黑色矩形 尽管图像是背景完全透明的 png 这是缩放方法以及初始化UIImageView UIImage im
  • AngularJS 错误:缩小后的 $injector:modulerr

    嘿伙计们我收到一个错误Error injector modulerr当我缩小 Angular JS 1 应用程序时 到目前为止 我已经研究过这是我调用依赖项的方式HomeController但是我不确定我可能哪里出错了 我注意到这里有一些预
  • JavaScript 括号将原始类型转换为对象

    如果数字是原始类型 为什么我可以这样做 gt 12345 toString 12345 括号是将原始类型转换为Number 不 括号只是让解析器理解 不是小数点 12345 toString 也会起作用 每当您访问原始数字的属性时 原始数字
  • 如何在 scrapy pipelines.py 文件中导入 django 模型

    我正在尝试在 pipelines py 中导入一个 django 应用程序的模型 以使用 django orm 保存数据 我在第一个涉及的 django 应用程序 app1 中创建了一个 scrapy 项目 scrapy project 顺
  • 如何更改 MDI 子窗口图标?

    看下图 我已经创建了Sub Window动态地 我尝试使用setWindowIcon函数如下 mdiWindows gt setWindowIcon QIcon icon ico 但效果不佳 另请参阅以下代码 MDI 窗口创建 QWidge
  • 如何使用 Google Apps 脚本显示 Google Drive 图像?

    如果我使用 Google 教程页面中的以下内容来加载图像 则效果很好 第一个 Google 涂鸦 app add app createImage http www google com logos googleburn jpg 但如果我尝试
  • 在控制器中访问另一个 CakePHP 模型的最佳方法是什么?

    假设我有两个这样的控制器Table1sController and Table2sController 对应型号 Table1sModel Table2sModel In the Table1sController 我懂了 this gt
  • 在本机 iPhone 应用程序中的 UIWebView 中使用 InnerHTML 是否存在错误?

    我有一个相当大的 HTML JS CSS 应用程序 在 iPhone 上使用 Safari 作为 Web 应用程序运行时效果非常好 当在本机 iPhone 应用程序中的 UIWebView 中运行相同的应用程序时 在 jQuery 中调用创