如何在JavaScript中检测是否在Chrome网络视图中加载了页面
How to detect in JavaScript if a page was loaded in a Chrome webview?
我正在为Chrome编写一个打包的应用程序,它有一个webview标记,我可以在其中加载我的网站。
网站JavaScript代码是否有可能检测到它是在网络视图中加载的?navigator.userAgent属性没有任何线索。
Jivings提到的方法之外的其他方法:
- 在web视图中加载稍微不同的URL。,http://example.com?in_webview=1,并将其反映在网站提供的JavaScript中
- 相同的想法,但使用#片段。我不确定#片段是否能正常工作,但如果能,那就太好了,因为服务器不会被奇怪的查询参数弄糊涂
- 使用embedder,将一个执行不同操作的脚本插入到web视图的DOM中
当web视图完成加载时,向页面内部触发一个事件:
webview.addEventListener("loadstop", function () {
contentWindow.postMessage('Hello from Chrome App!', targetOrigin)
});
您的内容页面可以使用常规postMessage API来侦听此消息。如果它收到一条消息,你就会知道它已加载到网络视图中。
相关文章:
- AngularJS - ngRoute - 视图加载完成后的回调
- 在Grails中使用Asset-Pipeline Plugin制作一个视图加载特定的JavaScript
- 在ng视图加载或指令加载后运行javascript
- 支持使用Backbone.js视图加载异步模板
- 视图加载后初始化工具提示
- 在解决Firebase GetRecord之前,视图加载不完整
- 将部分视图加载到JQuery对话框中的缓存问题
- Drupal 视图加载时间太长
- 如何在 MVC 4 中将不同的部分视图加载到引导模式
- 每个视图加载一个控制器AngularJS
- 使用Zend Framework应用程序将子视图加载到IFrame中
- 当web视图加载远程页面时,无法获取本地javascript文件来执行
- 当视图加载时更新状态
- 在MVC中为不同的视图加载单独的javascript
- Angular.js控制器在视图加载之后加载
- 在随后的部分视图加载后使用后退按钮
- 我如何获得部分视图加载上按钮单击
- 如何将视图加载到变量中
- BackboneJS.如何在视图加载后将历元图添加到视图中
- MVC-布局的部分视图加载,但不触发javascript