Справка по использованию кода Javascript в UIWebView - PullRequest
4 голосов
/ 03 января 2011

Я хотел бы запустить следующий код в веб-представлении, чтобы содержимое можно было редактировать:

javascript: document.body.contentEditable ='true'; document.designMode='on'; void 0

До сих пор я пытался это сделать:

- (void)webViewDidFinishLoad:(UIWebView *)webViews  
{    
    NSString *string = @"javascript: document.body.contentEditable ='true'; document.designMode='on'; void 0";
    [webView stringByEvaluatingJavaScriptFromString:string];
    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:string]]];
    NSLog(@"finished load");
}

Если бы вы могли сказать мне, как заставить это работать, это было бы здорово.

Ответы [ 2 ]

2 голосов
/ 04 января 2011

Мне нравится завершение моих вызовов JavaScript в JavaScript.Под этим я подразумеваю, что если в JavaScript нужно запустить несколько строк, обернуть их в функцию и вызвать только функцию.Это четко разделяет логику и позволяет вам тестировать вещи строго в Safari без создания приложения для iPhone.

Кроме того, я согласен с тем, что сказал Эван об избавлении от [webView loadRequest:.

* 1005.* РЕДАКТИРОВАТЬ: Подводя итог, я имею в виду что-то вроде:
function foo() { document.body.contentEditable ='true'; document.designMode='on'; }

А затем просто вызывать "Foo" в вашем звонке с iOS.

0 голосов
/ 03 января 2011

Удалить префикс JavaScript:Этот метод уже знает, что вы будете оценивать JavaScript, поэтому нет необходимости в избыточности.

Кроме того, не отправляйте этот запрос в конце.Оценка с использованием этого метода выполнит его на текущей странице.

...