javascript - 从外部源/文件填充 Chrome 上下文菜单

标签 javascript xml google-chrome google-chrome-extension

我目前正在编写一个Chrome扩展程序,其基本功能是作为快速选择工具。这意味着我正在使用通过 ASP.NET 网站实现的文件分类界面,并且在上传特定文件时必须选择描述特定文件的特定值(例如日期、描述、标签等)。因此,我决定使用 Chrome 的开发工具来构建一个易于使用的上下文菜单(您只需右键单击页面),该菜单会显示预定义规则的列表,单击这些规则后,会填写所有相应的字段(自动在页面上显示文本框、下拉列表等。

问题是,有很多预定义的规则,它们很容易更改,并且大多数都有子节点(例如:规则 1 包含 1.1、1.2 等),这有点难以编码直接以脚本形式。因此,我的想法是将定义包含在单独的文件(如 XML 文档)中,并使用提取的数据简单地填充上下文菜单。只是我尝试了很多不同的方法,但没有一个有效。是否可以将此 XML 文件放在扩展文件夹中并简单地访问它?如果是这样,调用它的代码会是什么样子?我什至可以在 Chrome 扩展程序中与这种本地资源进行交互吗?欢迎任何意见。

示例:

// This is the parent "general" section
var general = chrome.contextMenus.create({ "title": "General" });

 // Here, there would be a loop iterating through the "general" division of the XML,
 // creating the sub-menus (general_item1, general_item2, etc).

最佳答案

您可以通过 XMLHttpRequest 加载它并使用 jquery 解析它,例如:

$.ajax({
    url: "include.xml",
    dataType: "xml",
    success: function(xml) {
        $(xml).find("entry").each(function(){
            //loop through children
            $(this).children("subentry").each(function(){
                console.log($(this).attr("param"));
            });
        });
    }
});

但我会采纳 Jim Schubert 在评论中建议的内容 - 只需包含 js 文件,该文件包含某种可供使用的对象中的所有这些设置。如果您首先可以将所有内容存储为 javascript 对象,则无需将 XML 转换为 javascript。

关于javascript - 从外部源/文件填充 Chrome 上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6501171/

相关文章:

javascript - Chrome 中消失的图像

node.js - Chrome DevTools 错误 : "Failed to save to temp variable."

javascript - 如何删除 C# 或 JavaScript 中的空节点?

javascript - 如何画两个边相交的圆?

数组错误中的javascript数组

javascript - 仅当文本框为空时自动重新加载页面

python - 使用 Beautiful Soup 从 XML 返回嵌套属性

c++ - 我应该使用 XPath 还是只使用 DOM?

xml - 使用 Bing Ads SOAP API 时如何调试 202 HTTP 状态代码?

javascript - HTML5-WebRTC如何记录