리소스 폴더에서 로컬 HTML 파일을로드하는 UIWebView가 있습니다. 자,이 HTML 파일 안에 Javascript가 있습니다.리소스 폴더의 HTML 파일에 XCode 변수를 전달하는 방법은 무엇입니까?
내 질문은 HTML의 Javascript 함수에 전달할 수있는 UIWebView 내에로드 된 HTML 파일에 XCode 변수를 전달하는 방법입니다.
도움이나 제안을 해주셔서 감사합니다.
리소스 폴더에서 로컬 HTML 파일을로드하는 UIWebView가 있습니다. 자,이 HTML 파일 안에 Javascript가 있습니다.리소스 폴더의 HTML 파일에 XCode 변수를 전달하는 방법은 무엇입니까?
내 질문은 HTML의 Javascript 함수에 전달할 수있는 UIWebView 내에로드 된 HTML 파일에 XCode 변수를 전달하는 방법입니다.
도움이나 제안을 해주셔서 감사합니다.
자바 스크립트 문자열을 구성한 다음 -stringByEvaluatingJavaScriptFromString:
으로 전달할 수 있습니다 (예 : -stringByEvaluatingJavaScriptFromString:
).
NSInteger u = get_integer_from_user();
NSString* script = [NSString stringWithFormat:@"call_your_function(%d);", u];
[webView stringByEvaluatingJavaScriptFromString:script];
당신은 Handler.method
은 자바 스크립트 기능입니다
[_webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"Handler.method(%@);", variable]];
과 같은 작업을 수행 할 수 있습니다. 이 Javascript를 평가할 때까지 페이지가로드되었는지 확인하십시오. 그렇지 않으면 작동하지 않습니다. 내가 직접이 방법을 사용하고 그것이 작동하도록 데이터를 인코딩 할 필요가 있지만 base64로해야한다. 당신이 그것에 저장하는 가치에 달려 있습니다.
고맙습니다. JoostK. 그것은 도움이 .. – neha
JoostK, 여기 webView 함수 이름을 제공하고 있습니다 그래서 어디서 스크립트 이름과 경로를 지정합니까? – neha
제 경우에는'Handler.method'는 일반적인 자바 스크립트 함수입니다. 'UIWebView'는이 JS 호출을 처리하려고 시도하고'script' 요소 또는 가져온 Javascript에서이 메서드를 찾습니다. 그래서 당신은 당신이'webView'에서 적재 한 HTML 파일에서 JS를 가져 오거나 정의 할 수 있습니다. 그러면 Cocoa에서 임의의 Javascript 함수를 호출 할 수 있습니다. – Joost
KennyTM, 나는 이것을 이해했다. 내 HTML 파일에서, 나는 onload에서 호출하고있는 함수 initialise()가있는 javascript를 가지고있다. 즉,
이제 간단하게 initialise (숫자 s)로 작성하고 진행할 수 있습니까? – neha@neha : 예. 그러나이 경우 이중 초기화를 피하기 위해'onload'에서'initialize()'를 제거해야합니다. – kennytm
하지만 onload()에서 initialise()를 제거하면 스크립트가로드시 실행할 항목을 찾지 못해 작동하지 않습니다. – neha