2016-07-22 136 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"] 
} 
相關問題