Вставьте мета Viewport в HTML-файл, используя Javascript - PullRequest
0 голосов
/ 13 декабря 2011

в моем примере я хотел бы добавить Javascript в содержимое UiWebView RSS_Dettaglio_Webv.Почему я не могу вставить мета области просмотра?

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:storyLink]];
[RSS_Dettaglio_Webv loadRequest:request];
[RSS_Dettaglio_Webv setBackgroundColor:[UIColor whiteColor]];

NSString *javaScript = @"var viewPortTag=document.createElement('meta');\
viewPortTag.id=""viewport"";\
viewPortTag.name = ""viewport"";\
viewPortTag.content = ""width=320"";\
document.getElementsByTagName('head')[0].appendChild(viewPortTag);";

[RSS_Dettaglio_Webv stringByEvaluatingJavaScriptFromString:javaScript];

1 Ответ

1 голос
/ 13 декабря 2011
Теги

meta анализируются при загрузке документа, но в противном случае они будут игнорироваться.Обратите внимание, что я использую чистые js для определения размера области просмотра и настраиваю HTML-страницу в соответствии с этим.

ОБНОВЛЕНИЕ

Если вы должны использовать метатег, вы можете загрузитьHTML как строка, а не файл, изменяющий строку перед загрузкой ... что-то вроде этого (непроверенный код) - где вы помещаете "width: device-width" в тег meta, затем ищите и заменяете его:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"htm"];  
if (filePath) {  
    NSString *firstHTML = [NSString stringWithContentsOfFile:filePath];  
    if (firstHTML) {
        NSString *html;
        html = [firstHTML stringByReplacingOccurancesOfString:@"device-width" withString:@"320"];  
        [self.webView loadHTMLString:html baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];
    }  
}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...