2010-01-30 2 views

답변

1

자바 스크립트 문자열을 구성한 다음 -stringByEvaluatingJavaScriptFromString:으로 전달할 수 있습니다 (예 : -stringByEvaluatingJavaScriptFromString:).

NSInteger u = get_integer_from_user(); 
NSString* script = [NSString stringWithFormat:@"call_your_function(%d);", u]; 
[webView stringByEvaluatingJavaScriptFromString:script]; 
+0

KennyTM, 나는 이것을 이해했다. 내 HTML 파일에서, 나는 onload에서 호출하고있는 함수 initialise()가있는 javascript를 가지고있다. 즉, 이제 간단하게 initialise (숫자 s)로 작성하고 진행할 수 있습니까? – neha

+0

@neha : 예. 그러나이 경우 이중 초기화를 피하기 위해'onload'에서'initialize()'를 제거해야합니다. – kennytm

+0

하지만 onload()에서 initialise()를 제거하면 스크립트가로드시 실행할 항목을 찾지 못해 작동하지 않습니다. – neha

0

당신은 Handler.method은 자바 스크립트 기능입니다

[_webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"Handler.method(%@);", variable]]; 

과 같은 작업을 수행 할 수 있습니다. 이 Javascript를 평가할 때까지 페이지가로드되었는지 확인하십시오. 그렇지 않으면 작동하지 않습니다. 내가 직접이 방법을 사용하고 그것이 작동하도록 데이터를 인코딩 할 필요가 있지만 base64로해야한다. 당신이 그것에 저장하는 가치에 달려 있습니다.

+0

고맙습니다. JoostK. 그것은 도움이 .. – neha

+0

JoostK, 여기 webView 함수 이름을 제공하고 있습니다 그래서 어디서 스크립트 이름과 경로를 지정합니까? – neha

+0

제 경우에는'Handler.method'는 일반적인 자바 스크립트 함수입니다. 'UIWebView'는이 JS 호출을 처리하려고 시도하고'script' 요소 또는 가져온 Javascript에서이 메서드를 찾습니다. 그래서 당신은 당신이'webView'에서 적재 한 HTML 파일에서 JS를 가져 오거나 정의 할 수 있습니다. 그러면 Cocoa에서 임의의 Javascript 함수를 호출 할 수 있습니다. – Joost

관련 문제