-3

jqueryダイアログを挿入するためにこのソリューションを試しましたが、成功しませんでした。ページにダイアログが表示されましたが、透明に表示されています。jquery-ui.cssが正しく読み込まれなかったようです。私が間違っているのは何ですか?

4

2 に答える 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.jsjquery-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

前回、CSS全体をAjaxリクエストでリクエストし、ヘッダーに配置することで、CSSをドキュメントに直接書き込む必要がありました。なぜそうしたのかは覚えていませんが、もっと良い解決策を見つけたときは、やらなかっただろうと確信しています。また、ダイアログだけの場合は、CSS全体は必要ありません。私の「解決策」では、実際に必要なものだけを使用する方がよいでしょう。

于 2012-11-27T13:07:04.313 に答える