2

我在我的 chrome 扩展中实现 jQueryUI 时遇到了很多麻烦。我想在我的选项页面中实现一个可选择的。

chrome 扩展是一种浏览器操作,单击该操作会将页面重定向到缓存版本。在我的选项页面中,我将让用户选择要使用的缓存数据库,例如 Google、Yahoo、Bing 等。我想让他们通过可选择的方式进行选择。

可选:http: //jqueryui.com/selectable/

我正在尝试实现可选的基本版本 - 基本上只是他们拥有的演示,然后我将围绕工作版本构建我的网页,但我似乎无法让它工作。

清单.json:

{
    "manifest_version": 2,

    "name": "WebCache",
    "version": "2.0.0",
    "description": "View a cached version of a web page",

    "browser_action": {
        "default_icon": {
            "19":"/images/icon.png"
        },
        "default_title": "Cache Page"
    },

    "background": {
        "scripts": [
            "redirect.js"
        ]
    },

    "options_page": "options.html",

    "permissions": [
        "tabs", "http://*/*", "https://*/*"
    ]
}

选项.html:

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>jQuery UI Selectable - Serialize</title>

    <link rel="stylesheet" href="jQuery/jquery.ui.all.css">
    <link rel="stylesheet" href="options.css" />
    <link rel="stylesheet" href="jQuery/demos.css">
    <link rel="stylesheet" href="jQuery/jquery.ui.base.css">
    <link rel="stylesheet" href="jQuery/jquery.ui.all.css">
    <link rel="stylesheet" href="jQuery/jquery.ui.core.css">
    <link rel="stylesheet" href="jQuery/jquery.ui.selectable.css">
    <script src="options.js"></script>
    <script src="jQuery/jquery-1.9.1.js"></script>
    <script src="jQuery/jquery.ui.core.js"></script>
    <script src="jQuery/jquery.ui.widget.js"></script>
    <script src="jQuery/jquery.ui.mouse.js"></script>
    <script src="jQuery/jquery.ui.selectable.js"></script>

    <style>
    #feedback { font-size: 1.4em; }
    #selectable .ui-selecting { background: #FECA40; }
    #selectable .ui-selected { background: #F39814; color: white; }
    #selectable { list-style-type: none; margin: 0; padding: 0; width: 60%; }
    #selectable li { margin: 3px; padding: 0.4em; font-size: 1.4em; height: 18px; }
    </style>
    <script>
    $(function() {
        $( "#selectable" ).selectable({
            stop: function() {
                var result = $( "#select-result" ).empty();
                $( ".ui-selected", this ).each(function() {
                    var index = $( "#selectable li" ).index( this );
                    result.append( " #" + ( index + 1 ) );
                });
            }
        });
    });
    </script>
</head>

<body>
<p id="feedback">
<span>You've selected:</span> <span id="select-result">none</span>.
</p>

<ol id="selectable">
    <li class="ui-widget-content">Item 1</li>
    <li class="ui-widget-content">Item 2</li>
    <li class="ui-widget-content">Item 3</li>
    <li class="ui-widget-content">Item 4</li>
    <li class="ui-widget-content">Item 5</li>
    <li class="ui-widget-content">Item 6</li>
</ol>
</body>
</html>

我几乎只是剪切和粘贴了演示代码(并添加了对更多 javascript 文件的引用),所以我很困惑为什么它不起作用。现在它显示了一个带有正确格式的 CSS 的列表,就像它在示例中所做的那样,但是 javascript 不起作用。非常感谢任何帮助。

非常感谢,丹尼尔

编辑2:

javascript 在我的编辑器 Coda 中有效,但在扩展中仍然无效。不过,CSS 都在扩展中正确显示。

4

1 回答 1

1

您将资源指定为内容脚本。如果您只想在选项页面中使用它们,则不需要这样做。

当您查阅开发工具的网络选项卡时,也许您可​​以找到链接资源的正确路径。有404的吗?

请确保,您从 options.html 链接相对资源

于 2013-03-11T20:22:42.187 回答