DOM什么时候加载UIWebView?

时间:2012-02-19 00:09:01

标签: ios

我正在使用stringByEvaluatingJavaScriptFromString:首先执行以下javascript,然后执行addTestListener();

我显示了“添加侦听器”警报,但从未显示“已加载DOM内容”警报。 我已经尝试在UIWebView的生命周期中的任何地方执行脚本(loadView,viewDidLoad,viewWillAppear,webViewDidStartLoad,webViewDidAppear等),但我从未看到“加载DOM内容”警报。 JavaScript是否正确?如果是这样,为什么它永远不会出现?

var script = document.createElement('script');  
script.type = 'text/javascript';  
script.text = 
var Test =
{
f: function()
    {
        if (!event.originalTarget.defaultView.frameElement) 
        {
            alert('DOM content loaded');
        }
    }
}

function addTestListener()
{
    alert('adding listener');
    window.addEventListener("DOMContentLoaded", function(e) { Test.f(); }, false);
}



document.getElementsByTagName('head')[0].appendChild(script);

1 个答案:

答案 0 :(得分:0)

我认为在webViewDidStartLoad之前,DOMContentLoaded事件已经触发。在webViewDidStartLoad中,我做了以下事情:

[webView stringByEvaluatingJavaScriptFromString:@"alert(document.readyState)"];

,结果完成