我已尝试this solution注入jquery对话框,但没有成功。 我在页面上有一个对话框,但它显示为透明。 似乎没有正确加载jquery-ui.css。我做错了什么?
答案 0 :(得分:2)
解决方案是下载 jquery-ui.css 文件并将其放入插件目录并链接到 manifest.json 中,如下所示:
"content_scripts": [{
"matches": ["http://*/*", "http://jquery.com/*"],
"css": ["jquery-ui.css"],
"js": ["jquery.js", "jquery-ui.js", "popup.js"]
}]
我不知道为什么以下注射不起作用:
chrome.browserAction.onClicked.addListener(function (tab) {
chrome.tabs.executeScript(null, {
file: "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.3/themes/ui-lightness/jquery-ui.css",
runAt: "document_start"
},
chrome.tabs.executeScript(null, {
file: "http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js",
runAt: "document_start"
},
function () {
chrome.tabs.executeScript(null, {
file: "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"
},
function () {
chrome.tabs.executeScript(null, {
file: "popup.js"
});
});
});
});
所以我下载了 jquery.js , jquery-ui.js ,将它们放到插件目录中并链接到 manifest.json 中提及以上。然后取出所有注射剂:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null,
{
file:"popup.js",
runAt:"document_start"}
}););
结果我在任何页面上都格式化了jQuery对话框
答案 1 :(得分:0)
我最后一次需要通过在Ajax请求中请求整个CSS并将其放入标头中,我必须直接将CSS写入文档。我不记得我为什么这样做,但我很确定我不会这样做,当我找到一个更好的解决方案。还要注意,如果只是对话框,你真的不需要整个CSS。对于我的“解决方案”,最好只使用你真正需要的东西。