gpt4 book ai didi

javascript - 在 iPhone 上设置 innerHTML

转载 作者:行者123 更新时间:2023-11-30 18:50:05 31 4
gpt4 key购买 nike

我正在以这种方式设置文档元素的 innerHTML 属性:

document.getElementById('some_element').innerHTML = newHTML;

这在桌面和 iPhone 模拟器上的网络浏览器中运行良好。但在 iPhone 设备上,这随机地工作得很好。我的意思是,有时有效,有时无效。 google groups 提出的一个解决方案是尝试重复此函数调用约 20 次,中间有 50 毫秒的暂停。快点。关于那个神秘的延迟有一些合乎逻辑的解释吗?

以下是有关此问题的 Google 群组链接:

http://groups.google.com/group/phonegap/browse_thread/thread/0d24a9fda0921407#

http://groups.google.com/group/phonegap/browse_thread/thread/a5787985293b6de1/8d826c8506377025?lnk=gst&q=innerHTML#8d826c8506377025

最佳答案

什么时候调用该代码?

我猜如果在加载文档时调用这段代码,比如 onLoad(),DOM 可能还没有完全加载。

就我个人而言,对于这类事情,我只是包含 jQuery 并执行如下操作:

<script type="text/javascript" src="jquery-1.4.3.min.js"></script>

<script type="text/javascript">
$(document).ready( function() {
$('#some_element').html(newHTML);
} );
</script>

...或在原型(prototype)中:

document.observe('dom:loaded', function(){
// do yo thang...
});

这确保了 DOM 在脚本触发之前完全加载;从而避免了这种竞争条件。

要包含 jQuery,只需从他们的 official website 下载即可。并将其放入您的 Xcode 项目中。或者,如果您的 HTML 文档是通过 HTTP 提供的,您可以将它放在服务器上的 HTML 文件旁边。

哦,在我忘记之前。从项目加载我的 HTML 文件的代码如下所示:

NSURL *fileUrl = [[NSBundle mainBundle] URLForResource:@"myHtmlFile" 
withExtension:@"html"];

NSURLRequest *request = [NSURLRequest requestWithURL:fileUrl];

[webView loadRequest:request];

希望对您有所帮助。

关于javascript - 在 iPhone 上设置 innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4223705/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com