微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ember.js – 在ember-cli环境中访问窗口对象

嗨,我想在cordova应用程序中使用torii.我的environment.js文件如下所示.我无法访问窗口文档对象来设置redirectUri.得到错误未定义的变量.我该如何访问窗口文档对象.

module.exports = function (environment) {
    var ENV = {
        environment: environment,baseURL: '/',locationType: 'hash',EmberENV: {
            FEATURES: {
                // Here you can enable experimental features on an ember canary build
                // e.g. 'with-controller': true
            }
        },APP: {
            // Here you can pass flags/options to your application instance
            // when it is created
        },torii: {
            providers: {
                'facebook-oauth2': {
                    apiKey: '2xxxxxxxxxx',redirectUri: document.location.href
                },}
        },cordova: {
            rebuildOnChange: false,rebuildAsync: false,emulate: false
        }
    };

在我的.jshintrc中

"predef": {
    "document": true,"window": true,"AuthENV": true
  }

所以我假设文档应该是全局可用的,但事实并非如此

解决方法

您可以通过大多数Ember.js代码作为全局变量访问窗口和文档对象.

在此特定文件中,您尝试访问用于应用程序配置的文件.问题是配置是在Node.js构建过程中生成的 – 意味着上下文不一样.

您将在应用程序的页面源中看到配置是静态的并序列化为页面中的元属性

<Meta name="[your-app]/config/environment" content="your-config-here" />

由于重定向网址会根据用户的位置动态变化,因此更容易为OAuth流“及时”提取此数据.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐