【问题标题】:Detect if PhoneGap/Cordova when loading external URL加载外部 URL 时检测 PhoneGap/Cordova
【发布时间】:2014-02-28 16:09:20
【问题描述】:

我正在开发一个 PhoneGap/Cordova 应用程序,该应用程序用作加载和显示外部 URL 以使用以下代码将移动网站制作成应用程序的包装器:

window.open('http://www.website.com', '_self', 'location=no');

我想在加载时删除移动网站的某些元素,这些元素在应用中查看时不适用(例如“查看完整网站”)。

是否有任何方法可以从外部网站的 JavaScript 检测页面是否正在 PhoneGap/Cordova 应用程序中查看?

【问题讨论】:

  • 你可以通过user-agent获得一些运气,添加一个哈希怎么样? website.com/index.html#cordova=true.
  • InAppBrowser 有一个injectScript() 方法,你可以用它来将一个标志注入到网页的全局上下文中,所以你是外部站点可以检查if( window.cordovaExists ) 什么的。跨度>
  • @JamesWong 关于哈希的好主意,会尝试 - 但user-agent 不起作用,因为移动网站的所有功能仍然必须通过常规移动浏览器访问,当这些“查看完整网站”链接是必需的
  • @MBillau - 你的意思是executeScript()docs.phonegap.com/en/3.1.0/…
  • 是的,github.com/apache/cordova-plugin-inappbrowser/blob/dev/doc/… 我从未尝试过,但它可能是可能的。如果由于某种原因您实际上无法访问页面的窗口对象来设置全局变量,您可能会在页面上附加一个隐藏的 DOM 节点或其他东西。

标签: javascript cordova


【解决方案1】:

最后,我在 PHP 页面上使用了一个查询字符串参数来通知它正在加载到应用程序中。

然后,我使用 cookie 为会话记住它,并在定义了查询字符串或设置了 cookie 时加载一些 Javascript 代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    相关资源
    最近更新 更多