Javascript GAPI没有定义

Javascript GAPI没有定义,javascript,google-chrome-extension,google-api,Javascript,Google Chrome Extension,Google Api,我很难在chrome扩展中加载GoogleJavaScriptAPI。请注意,我对javascript非常陌生,对chrome扩展甚至更新 我有一个执行脚本的background.js文件 chrome.tabs.executeScript(null, { file: "ChromeExtension.js" }); 这个ChromeExtension.js文件如下所示 //Call Initialize Method init(); //Function To Initial Chrome

我很难在chrome扩展中加载GoogleJavaScriptAPI。请注意,我对javascript非常陌生,对chrome扩展甚至更新

我有一个执行脚本的background.js文件

chrome.tabs.executeScript(null, { file: "ChromeExtension.js" });
这个ChromeExtension.js文件如下所示

//Call Initialize Method
init();

//Function To Initial Chrome Extension
function init(){
    var clientID = 'Client ID';
    var apiKey = 'API Key';
    var scopes = 'https://www.googleapis.com/auth/plus.me';

    loadGAPIClient();

    gapi.client.setApiKey(apiKey);


}
我的问题是至少

gapi.client.setApiKey(apiKey);
我得到gapi没有定义问题是一旦我的ChromeExtension.js完成执行,gapi就完全定义并可用了

我在一些堆栈溢出问题上尝试了其他建议,但没有效果。我相信这是因为缺乏Javascript知识,但如果有人能够提供一些帮助,我将不胜感激

谢谢你抽出时间

编辑-当前GAPI负载

function () loadGAPIClient(){
    var s = document.createElement("script");
        s.type = "text/javascript";
        s.src = "https://apis.google.com/js/client.js";
        $("head").append(s);
}
这个函数是在我的init()中调用的,我也对它进行了更新以反映这一点

我还尝试过使用jQuery.getScript和其他方法


请理解这是我的问题,我找不到正确加载GAPI客户端的方法,

不会威胁到我的回答是冒犯性的,在您的代码片段中没有证据表明这一点,您已经加载了Google API JavaScript库,如图所示


您需要使用此方法,而不是手动调用init:让我们为您调用gapi:)

问题

具体地说,您的
loadGAPIClient
添加了一个
标记,然后在页面上下文中执行脚本,这与内容脚本上下文不同

最终结果是,
gapi
在页面的代码中定义(如果页面加载了自己的副本,可能会产生冲突),但在您的代码中仍然没有定义

我看不出一条容易的出路。您只能通过调用
executeScript
或在清单中声明内容脚本上下文中加载内容;如果我没记错的话,GAPI将尝试使用
注入方法加载更多库

所以我想最好的办法是在后台页面加载库,然后从那里使用它,因为这样加载外部JS就可以了


或者,您也可以尝试,它可以解决默认CSP的问题,并使用
chrome.identity
API。它可能适合您的需要,但在内容脚本中同样不起作用。

请提供有关如何添加GAPI脚本的更多详细信息。您好,亚伯拉罕,我已经更新了问题。另外,我希望进一步澄清我遇到的问题。在Chrome扩展的环境中没有帮助,对不起。在我的环境中帮助了我,谢谢各位开发人员!计算机万岁!如果我们保存该文件js并将其加载到清单内容脚本下会怎么样?Hi-Xan。谢谢你的回复。虽然前三段我已经知道了很多,但后两段是最有用的,特别是提供的库,它为我解决了很多问题,使加载过程变得更容易。感谢您花时间回复。我尝试了该库,并想指出,在后台脚本中使用它时,您必须稍微修改代码:,因为在后台页面
chrome.app.runtime
中实际上是
未定义的
。在那之后,它就像一个魅力!!!
<script src="https://apis.google.com/js/plus.js?onload=init"></script>