2014-02-05 1 views
1

사과에서 많은 설명서를 보았지만 웹 뷰로 자바 스크립트 기능을 구현하는 방법에 대한 일반적인 아이디어를 파악할 수 없습니다. https://mobilemy.umd.edu/portal/server.pt/gateway/PTARGS_0_340574_368_211_0_43/https%3B/www.sis.umd.edu/testudo/studentSched?term=201401javascript를 uiwebview에 삽입하는 방법

내가 양식 (사용자 이름 및 암호)을 채우기 위해 자바 스크립트를 사용하여 양식을 제출하려면 :

가 나는 URL을 가지고있다. 콘솔에서

, 나는 스크립트를 사용하고이 같은

javascript:(function() { 
    document.lform.in_tx_username.value='username'; 
    document.lform.in_pw_userpass.value='password'; 
    doLogin(); 
    })() 

의 Obj-C 코드 보면 뭔가 : scheduleUrl 내가 위의 링크 된 URL이

loginScript = @"function() {document.lform.in_tx_username.value='username'; 
    document.lform.in_pw_userpass.value='password'; 
    doLogin();}"; 
[_visibleWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:scheduleURL]]]; 
[_visibleWebView stringByEvaluatingJavaScriptFromString:loginScript]; 

합니다. 나는 Obj-C와 JS 모두에게 매우 익숙하므로 어떤 도움이나 조언도 부탁드립니다.

답변

1

stringByEvaluatingJavaScriptFromString을 실행하면 페이지/HTML에서 JavaScript가 실행 중입니다. 함수를 전달하면 함수가 아무 것도 호출되지 않기 때문에 아무 것도하지 않습니다. 그냥과 같이 자바 스크립트 자체를 실행

loginScript = @"document.lform.in_tx_username.value='username'; 
    document.lform.in_pw_userpass.value='password'; 
    doLogin();"; 

이 자바 스크립트가 대신 페이지에서 실행 얻을 것이다 단지 확인되고

+0

난 여전히 stringbyevaluating 부릅니까 "선언"당신은 또한뿐만 아니라 자바 스크립트 메소드를 호출해야 말한다? – CoderNinja

+0

@CoderNinja 예 thats를 webview에 전달하는 방법은 실행 가능한 코드가 아닌 호출해야하는 함수를 전달하는 것이 었습니다. –

0

웹보기의 로딩이 완료되면 당신은 코드를 실행하려고 할 수 있습니다

자바 스크립트 호출 후

_visibleWebView = self; 
[_visibleWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:scheduleURL]]]; 

분사 :

요청을로드 기능 :
- (void)webViewDidFinishLoad:(UIWebView *)webView { 

    loginScript = @"function() {document.lform.in_tx_username.value='username'; 
    document.lform.in_pw_userpass.value='password'; 
    doLogin();}"; 

    [_visibleWebView stringByEvaluatingJavaScriptFromString:loginScript]; 

} 

편집 사이먼 맥 로린으로

관련 문제