2012-05-17 4 views
1

Я пытаюсь сменить шрифт в UIWebView. Я попробовал использовать следующие коды для изменения шрифта.Как добавить javascript в UIWebView в iOS?

NSString *path = [[NSBundle mainBundle] bundlePath]; 
    NSString *cssPath = [path stringByAppendingPathComponent:@"test.css"]; 

    if(!cssPath) 
    { 
     NSLog(@"NO"); 
    } 

    NSString *js = [NSString stringWithFormat:@"var cssChild = document.createElement('link');" 
        "cssChild = 'text/css';" 
        "cssChild = 'stylesheet';" 
        "cssChild = '%@';", cssPath]; 
    js = [NSString stringWithFormat:@"%@ document.getElementsByTagName('head')[0].appendChild(cssChild);", js]; 

    [webViewOfInitial stringByEvaluatingJavaScriptFromString:js]; 

Я добавляю файл css в заголовок загруженной страницы из Интернета. Мой css-файл подходит именно так.

@font-face { 
    font-family: 'Zawgyi-One'; 
    font-style: normal; 
    src: local('Zawgyi-One'); 
} 

body { 
    font-family: 'Zawgyi-One'; 
} 

Однако, когда я получаю html-теги при завершении загрузки страницы, я не могу найти свои выше теги css. Итак, как добавить этот файл css на текущую страницу UIWebView's заголовков? Или есть ли другие учебники для UIWebView Изменение шрифта?

Спасибо.

ответ

2

Вы идете в правильном направлении, но вы не указали, какой метод делегирования вы пытаетесь внести. вы можете иметь свой javascript в файле .js, так как вы можете вносить в него изменения позже. будет действительно громоздким, чтобы отражать изменения через код (вместо файла js). Используйте это: -

Вы должны загрузить HTML-код в представление с правильным параметром baseURL, чтобы использовать относительные пути или файлы в UIWebView.

NSString *path = [[NSBundle mainBundle] bundlePath]; 
NSURL *baseURL = [NSURL fileURLWithPath:path];  
[webView loadHTMLString:htmlString baseURL:baseURL]; 

BaseUrl принимает объект NSURL как файл reference.You можно указать локальный URL или веб-один, как ваши потребности ведет вас to.Append файл CSS в webViewDidFinishLoad:(UIWebView *)webView, как вы сделали.

ПРИМЕЧАНИЕ: -Выберите файл .js и снимите столбец bullseye, указав его как скомпилированный код (вы получите предупреждение, если вы этого не сделаете).

Вот UIWebview Javascript Tutorial, который может вас заинтересовать.

+0

Что такое htmlString? –

+0

Если бы вы могли, напишите образец проекта для моего вопроса со статической HTML-страницей. Мне очень нужно. Пожалуйста. –

+0

htmlstring - это ваш html-контент. Или это может быть NSString или AN NSString, указывающий непосредственно на файл html. –

Смежные вопросы