0

我正在为我的朋友们准备这个恶作剧。我不是一名经验丰富的程序员,虽然我想成为一名程序员,但我只有有限的时间对我的朋友们进行这种恶作剧。所以这是交易。我使用网页https://www.webpage.com/lol/data.asp(将替换为代码中的 URL,因为该论坛对新用户有限制)。在这个站点上有一个名为“data_div”的 div,我想注入一些代码,以便在页面加载时(当我加载扩展名 ofc 时),div 中的数据被我的 HTML 文档中的数据替换。在本文档中,我只有一个包含新数据的表格,它将替换原始表格。我该怎么做?

到目前为止,通过阅读论坛帖子(here 和 elswhere)并使用 google 来帮助我,由于我是编程新手,所以我进展甚微。

这是我得到的代码。

清单.json

{  "name": "prank",
  "version": "0.1",
  "permissions": [
    "URL"
  ],
  "content_scripts": [
    {
      "matches": ["JQUERY URL", "URL"],
      "js": ["jquery-1.9.1.min.js", "myscript.js"],
      "run_at": "document_end"
    }
  ],
  "manifest_version": 2
}

myscript.js

chrome.extension.sendRequest({cmd: "read_file"}, function(html){
    $("data_div").html(html);
});

背景.html

chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
    if(request.cmd == "read_file") {
        $.ajax({
            url: chrome.extension.getURL("cont.html"),
            dataType: "html",
            success: sendResponse
        });
    }
})

以及 cont.html 中的 HTML 表格内容。

这是行不通的,如果有人能做到这一点,或者给我写一个有用的东西,我将不胜感激。

当我进入网站时,扩展程序加载但没有做任何事情。我什至不确定我是否可以访问网站上的 div 并更改它,或者这是否是正确的方法。我是全耳的家伙,拜托,请帮助我!

4

1 回答 1

0

在我看来,您的 jquery 选择器在这一行中是错误的:

$("data_div").html(html);

您需要在 data_div 前面加上 # 或 . 取决于标记。

在您的问题中,您说 div 称为 data_div,我不确定这到底是什么意思。Below are the three options that I can think of, for what you might mean and the appropriate selector that you would need to use: data here use this selector: $("#data_div") data here use this selector: $(". data_div") 数据在这里使用这个选择器:$("div[name=data_div]")

如果您需要更多信息,可以阅读有关JQuery 选择器的文档。

更新

为了使调试更简单,请尝试将我的脚本内容更改为(删除所有 ajax 调用):

$("#data_div").html('一些测试内容');

如果这可行,您就知道问题不在于您的选择器,而在于 ajax。然后你可以从那里建立东西。

于 2013-02-18T03:33:35.483 回答