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流“及时”提取此数据.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...