繁体   English   中英

使用Javascript在HTML文件中插入视口元

[英]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]]];
    }  
}  

JavaScript 设置初始比例<meta name="viewport" < div><div id="text_translate"><p>是否有可能在之前有一个 JavaScript function</p><pre> &lt;meta name="viewport" content="width=device-width; initial-scale=1.0; "&gt;</pre><p> 设置比例数字,以正确定位每个移动设备的宽度? 例如在 JavaScript 我们有<br></p><p>if (window.devicePixelRatio == 0.75)<br></p><p> 我们制作元标记:</p><pre> &lt;meta name="viewport" content="width=device-width; initial-scale=1.4; "&gt;</pre><p> 和<br></p><pre> if (window.devicePixelRatio == 1.5)</pre><p> 我们制作元标记:<br></p><pre> &lt;meta name="viewport" content="width=device-width; initial-scale= 0,75; "&gt;</pre><p> 因此页面在加载时会放大或缩小,以完全适合设备宽度。</p><p> 如果可能的话,请您发布一个示例。</p></div>

[英]JavaScript to set the initial Scale in <meta name="viewport"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM