【问题标题】:Chrome app , javascript issueChrome应用程序,javascript问题
【发布时间】:2016-02-09 07:26:54
【问题描述】:

在 chrome 应用程序中,我在 index.html 和其他 html 中加载了一些 js/files.js。

我正在使用:

 "app": {
    "launch": {
      "local_path": "index.html",
      "width":800,  
      "height":800

    }
  },

但它已被弃用,并将在本月从 webstore chrome 中删除。

我已经按照它的建议进行了更改:

"app": { "background": { "scripts": ["main.js"] } },

它正在调用 index.html 当我进行此更改时,javascript 不再起作用。无法弄清楚发生了什么。 我已经尝试并阅读了有关 chrome 应用程序和 javascript 文件的各种问题,但无法运行一个简单的函数,例如:

 var index = {
 initialize: function () {        
    setTimeout(function () {
        var user = null; 
        if (user == null) {
            window.location.href = "login.html";
        } else {
            //do something more
        }
    }, 500);
}

};
index.initialize();

来自这个 js 文件

【问题讨论】:

  • }, 500); }, 上方的代码中有一个尾随逗号。
  • 是的,再次,这是我快速粘贴的代码,抱歉,我也修复了它。但正如我所说,javascript 工作正常。
  • 我建议阅读 runtimewindow 文档。
  • 感谢我已阅读它们,但没有找到太多,我仍然卡住了。我猜想正在加载 javascript 代码,因为在 initialize:function(){ } 里面我正在添加例如: document.querySelector('#greeting').innerText = 'Hello, World!它是 ' + new Date(); ,并且它正在显示,但是,某些功能(例如 setTimeout 或 window.location.href 不起作用)发生了一些事情,我无法弄清楚可能是什么

标签: javascript google-chrome-app


【解决方案1】:

在这个 sn-p 中有一个不平衡的(额外的)}

"app": { "background": { "scripts": ["main.js"] } } },

【讨论】:

  • 是的,它只是在我粘贴在这里的代码中,我已经修复了这个错误
【解决方案2】:

你不能再从应用页面操纵window.locationamong other things

基本上,这个想法是必须使用单页应用程序,或者作为一种解决方法,您可以根据需要使用chrome.app.window 打开新窗口。

【讨论】:

  • 是的,那是正确的。我发现这也是唯一的问题,每个 js 都可以正常工作,而且你提到的那些都是正确的方法,所以我正在操纵使用一个 index.html 和重定向同一索引中的其他页面。
  • 在登录的情况下,一个单独的弹出窗口 - 作为您将其作为单页应用程序实施之前的权宜之计 - 不会是一种奇怪的用户体验。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-10
  • 2020-10-06
  • 2015-02-19
  • 2014-06-30
  • 2016-10-31
  • 1970-01-01
相关资源
最近更新 更多