jquery attr在chrome扩展中返回undefined unexpected

时间:2014-07-31 05:03:05

标签: jquery google-chrome-extension

这个问题不是关于如何编写chrome扩展

当我在chrome控制台上运行它时,它工作正常,按预期返回字符串..

但是当我将此作为chrome扩展名添加到脚本中时,它会返回undefined

html:

<div id="articleCommentDiv" style="border:0px;" class="widget wbox" context="
                    {
                        &quot;requestType&quot;:&quot;ajax&quot;,
                        &quot;path&quot;:&quot;/产品专区论&quot;,
                        &quot;articleId&quot;:699286466,
                        &quot;targetChannel&quot;:&quot;新闻中心&quot;,
                        &quot;targetMenu&quot;:&quot;产品专区&quot;
                    }
                    " load="true">

的manifest.json:

{
  "name": "Page Redder",
  "description": "Make the current page red",
  "version": "2.0",
  "permissions": [
    "activeTab"
  ],
  "background": {
    "scripts": ["test1.js","jquery-1.11.1.js"],
    "persistent": false
  },
  "browser_action": {
    "default_title": "Make this page red"
  },
  "manifest_version": 2
}

test1.js:

// Called when the user clicks on the browser action.
chrome.browserAction.onClicked.addListener(function(tab) {
  results=$("#articleCommentDiv").attr("context");
   alert(typeof(results));
});

1 个答案:

答案 0 :(得分:1)

清单中的加载顺序错误。

脚本按清单中指定的顺序加载。结果,在jQuery准备好之前加载test1.js。只需交换它们。