stringByEvaluatingJavaScriptFromString不执行操作

时间:2013-06-17 13:21:24

标签: javascript iphone ios uiwebview

我的应用正在尝试加载的网页用户有以下链接:

<a href="javascript:DoSubmitScr('1B'); SetTextOption('Detailed');" id="btn_14" class="Button1" style="position:relative;width:190px;">

它试图调用这个javascript块:

function DoSubmitScr(scrval)
{  
  GlobalHelpUrl = HelpUrl;
  document.getElementById("hScreen").name = "SCR";
  document.getElementById("hScreen").value = scrval;

  if (scrval.toUpperCase() == "1B" ) document.getElementById("main_iframe").scrolling = "no";

  document.forms[0].target = "_parent"; 
  document.forms[0].method = "post";      
  document.forms[0].action = "/wtouch/perinfo.exe/oper";
  doSubmit();
}

现在我尝试做这个javascript:

[webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('btn_14').click();"];

但它不起作用,也不是我尝试这样做的时候:

[webView stringByEvaluatingJavaScriptFromString:@"DoSubmitScr('1B');"];

有关如何调用此javascript方法的任何想法?

罗恩

1 个答案:

答案 0 :(得分:0)

好的,我发现了问题。

webViewDidFinishLoad以:

开头
if (webView.isLoading == YES) return;

因此,在网页完全加载之前没有执行任何代码。

由于某种原因使用上面的javascript调用的页面从未完成其加载,因此下一个函数永远不会被调用...

当我删除.isLoading语句时,一切正常!