我已经尝试过这种注入 jquery 对话框的解决方案,但没有成功。我在页面上有一个对话框,但它显示为透明的。似乎 jquery-ui.css 没有正确加载。我做错了什么?
问问题
1606 次
2 回答
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 对话框
于 2012-11-28T06:08:46.073 回答
0
上次我需要通过 Ajax 请求请求整个 CSS 并将其放入标题中,我必须将 CSS 直接写入文档。我不记得我为什么这样做了,但是当我找到更好的解决方案时,我很确定我不会这样做。另请注意,如果它只是对话框,你真的不需要整个 CSS。对于我的“解决方案”,最好只使用你真正需要的东西。
于 2012-11-27T13:07:04.313 回答