【问题标题】:Chrome App Extension not working with Oauth JavascriptChrome 应用程序扩展不适用于 Oauth Javascript
【发布时间】:2013-12-03 06:44:24
【问题描述】:

我收到此错误“Uncaught TypeError: Cannot call method 'setBadgeText' of undefined”

下面是我的代码:

这曾经在 Chrome 27.0 中有效,但现在在 Chrome 29.0 中似乎已停止运行。我不确定是这个还是.. manifest.json 文件在后台加载它。

  var DOCLIST_SCOPE = 'https://docs.google.com/feeds';
  var DOCLIST_FEED = DOCLIST_SCOPE + '/default/private/full/';
  var docs = []; // In memory cache for the user's entire doclist.
  var refreshRate = localStorage.refreshRate || 300; // 5 min default.
  var pollIntervalMin = 1000 * refreshRate;
  var requests = [];

  var oauth = ChromeExOAuth.initBackgroundPage({
    'request_url': 'https://www.google.com/accounts/OAuthGetRequestToken',
    'authorize_url': 'https://www.google.com/accounts/OAuthAuthorizeToken',
    'access_url': 'https://www.google.com/accounts/OAuthGetAccessToken',
    'consumer_key': 'anonymous',
    'consumer_secret': 'anonymous',
    'scope': DOCLIST_SCOPE,
    'app_name': 'App Name'
  });

  function setIcon(opt_badgeObj) {
    if (opt_badgeObj) {
      var badgeOpts = {};
      if (opt_badgeObj && opt_badgeObj.text != undefined) {
        badgeOpts['text'] = opt_badgeObj.text;
      }
      if (opt_badgeObj && opt_badgeObj.tabId) {
        badgeOpts['tabId'] = opt_badgeObj.tabId;
      }
      chrome.browserAction.setBadgeText(badgeOpts);
    }
  };

  function clearPendingRequests() {
    for (var i = 0, req; req = requests[i]; ++i) {
      window.clearTimeout(req);
    }
    requests = [];
  };

  function logout() {
    docs = [];
    setIcon({'text': ''});
    oauth.clearTokens();
    clearPendingRequests();
  };

【问题讨论】:

  • 如果您认为清单可能是问题所在,为什么不将其包含在您的问题中?

标签: javascript google-chrome-extension google-chrome-app


【解决方案1】:

如果您的代码基于OAuth tutorial
问题很可能是由于http://crbug.com/310870,这是样本中的一个错误。 (由于 Chrome 中的错误,这些示例之前有效。)

确保扩展程序中属于 OAuth 流程的所有资源都包含在清单的“web_accessible_resources”键中。在联系人示例的情况下,需要包含此片段。

"web_accessible_resources": [
    "chrome_ex_oauth.html",
    "chrome_ex_oauthsimple.html"
],

【讨论】:

    猜你喜欢
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多