[英]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.