Kev*_*vin 10 javascript iphone jquery uiwebview
我有一个相当大的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我看到
<div>/<div>
div.innerHTML 返回一个空字符串.
这似乎不是一个jQuery问题,这也不会100%发生.我无法找到一个模式,但在某些情况下,它连续工作2-3次,有时如果连续失败5-6次.这似乎只出现在Objective-C应用程序中的UIWebView中运行应用程序时.另外我只在运行iOS 4.2的实际设备上看到这个,而不是模拟器.
有没有人碰到类似的东西?有人有修复吗?
小智 5
我也有这个问题.它发生在手机的CPU非常繁忙时(比如说100%).然后渲染引擎有时会忘记innerHTML设置.
我的unify项目中包含的解决方案是测试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);
Run Code Online (Sandbox Code Playgroud)
这会强制渲染引擎将innerHTML应用于DOM,并为渲染引擎提供一些时间(在此示例中为100 ms,在我们的测试中是一个很好的值)来处理它.
| 归档时间: |
|
| 查看次数: |
3854 次 |
| 最近记录: |