[英]Insert Viewport meta in HTML file using Javascript
在我的示例中,我想将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];
加载文档时会解析meta
标记,否则它们将被忽略。 请注意,我使用纯js来检测视口大小,并将html页面调整为该大小。
更新
如果必须使用meta标记,则可以将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]]];
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.