将 window.navigator.standalone 添加到 UIWebView DOM

Posted

技术标签:

【中文标题】将 window.navigator.standalone 添加到 UIWebView DOM【英文标题】:Add window.navigator.standalone to UIWebView DOM 【发布时间】:2010-08-23 11:02:39 【问题描述】:

您知道如何通过 Mobile Safari 通过点击 + 按钮来安装“webapp”吗? 通过主屏幕启动这个应用程序,您的 Web 应用就知道它是从主屏幕启动的,因为 window.navigator.standalone 设置为 1...

嗯..

我制作了一个带有 UIWebViewios 应用程序,它加载了一个 Web 应用程序。现在我想将 window.navigator.standalone 属性添加到我的 webapp 的 dom 中……这可能吗?

谢谢

【问题讨论】:

【参考方案1】:

从objective C向webview中注入一些javascript来手动设置参数

[webView stringByEvaluatingJavaScriptFromString:@"window.navigator.standalone=1"];

-Dx

【讨论】:

似乎不起作用,即使在执行此操作后,window.navigator.standalone 的值仍然是 false iOS 6.1:在 webViewDidFinishLoad 上实现的代码:但结果相同。 window.navigator.standalone 的值仍然是 false :( 有人找到答案了吗?无论它看起来如何设置,它仍然是错误的。 @casey 请看下面我的回答。 检查答案***.com/a/64965600/3290623 它显示了如何覆盖该标志【参考方案2】:

这是不可能的。 navigator.standalone 像大多数原生导航器属性一样只读。我刚刚在 Inspector 中检查了 iPhone 模拟器。

【讨论】:

【参考方案3】:

将以下内容注入到您的 webview 中

let script= "Object.defineProperty(navigator, 'standalone', get:function()return true;);"
evaluateJavaScript(script, completionHandler: nil)

这样你甚至可以覆盖只读对象

【讨论】:

以上是关于将 window.navigator.standalone 添加到 UIWebView DOM的主要内容,如果未能解决你的问题,请参考以下文章

如何将Ios文件上传到

Javascript 将正则表达式 \\n 替换为 \n,将 \\t 替换为 \t,将 \\r 替换为 \r 等等

如何将视频文件转换格式

sh 一个将生成CA的脚本,将CA导入到钥匙串中,然后它将创建一个证书并与CA签名,然后将其导入到

python怎么将0写入文件?

如何将CMD窗口背景改成透明?