2016-07-22 100 views
1

我试图创建一个Chrome扩展,用户在页面上突出显示文本时弹出一个小输入(类似于Medium对文本高亮功能的推文)。在内容脚本和Chrome扩展中使用jQuery

我正在取得进展,但会发现使用jQuery(而不是vanilla JS和XHR)要容易得多。

我已经看到了一些关于在清单中需要jQuery的文章,并且我尝试了许多不同的方法,但没有成功。

我有一个manifest(下面),一个contentscript.js和dropdown.js(我想注入到该页面的文件)。

{ 
    "name": "na", 
    "version": "1.0", 
    "manifest_version": 2, 
    "description": "na", 
    "homepage_url": "na", 
    "content_scripts": [{ 
     "js": ["jquery.js", "contentscript.js"], 
     "matches": ["https://github.com/*"] 
    }], 
    "web_accessible_resources": ["jquery.js","dropdown.js"] 
} 

任何援助将不胜感激!

+0

1.将文件放入“content_scripts” - > “js”字段,在这种情况下您不需要“web_accessible_resources”。并请张贴您遇到的任何错误,您为什么认为失败? 2. vanilla JS已经支持很多事情,例如querySelector和querySelectorAll用于查询具有选择器的元素,并尝试使用['fetch'](https://developers.google.com/web/updates/2015/03/introduction-to-fetch?hl = en)而不是Ajax。 –

+0

Github动态地添加了一些内容,因此除了发布更详细的问题描述之外,您还应该添加相关的代码:dropdown.js如何被注入,内部是什么。 – wOxxOm

回答

1

假设您在主文件夹中有jquery.js,那么您的清单书写方式应该可以工作。我怀疑你要么在主文件夹中没有jQuery文件(也许它在脚本文件夹中,在这种情况下,你应该引用文件夹位置:例如scripts/jquery.js)或名称不正确(也许它是jquery.min.js)。

如果你没有jQuery的下载,我会建议在引用您的清单中Google hosted library(在相同的位置,你现在拥有它指示)

{ 
    "name": "na", 
    "version": "1.0", 
    "manifest_version": 2, 
    "description": "na", 
    "homepage_url": "na", 
    "content_scripts": [{ 
     "js": ["https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js", "contentscript.js"], 
     "matches": ["https://github.com/*"] 
    }], 
    "web_accessible_resources": ["dropdown.js"] 
} 
相关问题