1

我试图安排一个谷歌浏览器扩展,我只提取一个 json 或 xml 来显示我网站上的内容。但我无法完成这项任务可能会说一些执行此任务的代码示例。我将不胜感激

这是如何配置我的 manifest.json 的示例

{
   "manifest_version": 2,
   "name": "Name",
   "description": "My WEB SITE DESCRIPTION."
   "version": "1.0",

   "browser_action": {
     "default_icon": "icon.png",
     "default_popup": "popup.html"
   }
   "permissions": [
     "http://domain.com/"
   ]
}

当我尝试获取 XML 时(如果他们知道我如何实现 JSON 将同样有用):

window.addEventListener("load", function inicial(){
         xmlhttp.open("GET", "http://domain.com/feed", false); 
         xmlhttp.send(null);
         if (xmlhttp.status==200) {
                     xmlDoc = xmlhttp.responseXML; 
                     var links = xmlDoc.getElementsByTagName("link"); 
                     alert(links);
          } else if (xmlhttp.status==404) {
               alert("XML could not be found");
          }
});

问候。

4

1 回答 1

4

您提供的代码中似乎有许多错误。我意识到其中许多可能是在调整代码以在此处发布时引入的,因此可能不存在于实际代码中。无论如何,这就是你应该从头开始的方式:

扩展文件结构:

extension-root-directory/
                       |___manifest.json
                       |___popup.html
                       |___popup.js

清单.json:

{
    "manifest_version": 2,
    "name": "<EXTENSION-NAME>",
    "description": "<EXTENSION-DESCRIPTION>",
    "version": "1.0",

    "browser_action": {
        "default_title": "<BROWSER-ACTION-TITLE>",
        "default_popup": "popup.html"
    },

    "permissions": [
        "<URL-TO-XML-OR-JSON>"   // e.g. "http://domain.com/feed"
    ]
}

popup.html:

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="popup.js"></script>
    </head>
    <body>
        Loading...
    </body>
</html>

popup.js:

var ajaxURL = "<URL-TO-XML-OR-JSON>";   // e.g. "http://domain.com/feed"
window.addEventListener("load", function() {
    xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET", ajaxURL, false);
    xmlhttp.send(null);
    if (xmlhttp.status == 200) {
        var data = xmlhttp.responseXML;   // or JSON.parse(xmlhttp.responseText)
        // Do stuff with the retrieved data...
        console.log(data);
    } else {
        document.body.innerHTML("Failed to load the data !");
    }
});
于 2013-10-26T15:02:28.973 回答