使用Google Chrome扩展程序修改页面来源

时间:2012-11-14 15:35:16

标签: javascript html css google-chrome google-chrome-extension

我想制作一个Chrome扩展程序来获取这样的源代码:

document.getElementsByTagName('html')[0].innerHTML

这可能不是最好的方式...然后更改搜索并替换源中的文本....就像页面中的“酷”一词,然后用其他东西替换它并显示修改后的页面给用户。我该怎么做?

此外,不仅仅是文字,我还需要编辑源代码,而不仅仅是文字。

我的目标是编辑页面源链接,例如样式表和其他来源。我需要更改https:// - 如果是1 - 并将其替换为http://

2 个答案:

答案 0 :(得分:0)

最好的方法是:

  1. 将jquery添加到您的options.html
  2. 比使用jquery来解决你的问题,比如

    $( '#searchfield')VAL( 'TEST')。 //等等......

  3. 希望它有所帮助。

    PS。:我写了一个chrome-extension也许它可以帮助你开始(https://github.com/marcofrancke/AmazonExtended)

答案 1 :(得分:0)

尝试http://api.jquery.com/clone/var element = $0;(返回根元素)

例: 代码获取标签名称描述:

var getElementReference = function() {

    var element = $0;
    var tagName = element.tagName;
    var dictionary = {
        a: "Defines an anchor",
        abbr: "Defines an abbreviation",
        acronym: "Defines an acronym",
        address: "Defines contact information for the authorowner of a document",
        applet: "Deprecated. Defines an embedded applet",
        area: " Defines an area inside an image-map",
        b: "Defines bold text",
        base: " Defines a default address or a default target for all links on a page",
        basefont: " Deprecated. Defines a default font, color, or size for the text in a page",
        bdo: "Defines the text direction",
        big: "Defines big text",
        blockquote: "Defines a long quotation",
        body: "Defines the document's body",
        br: " Defines a single line break",
        button: "Defines a push button",
        caption: "Defines a table caption",
        center: "Deprecated. Defines centered text",
        cite: "Defines a citation",
        code: "Defines computer code text",
        col: " Defines attribute values for one or more columns in a table ",
        colgroup: "Defines a group of columns in a table for formatting",
        dd: "Defines a description of a term in a definition list",
        del: "Defines deleted text",
        dfn: "Defines a definition term",
        dir: "Deprecated. Defines a directory list",
        div: "Defines a section in a document",
        dl: "Defines a definition list",
        dt: "Defines a term (an item) in a definition list",
        em: "Defines emphasized text ",
        fieldset: "Defines a border around elements in a form",
        font: "Deprecated. Defines font, color, and size for text",
        form: "Defines an HTML form for user input",
        frame: "  Defines a window (a frame) in a frameset",
        frameset: "Defines a set of frames",
        h1: " Defines HTML headings",
        h2: " Defines HTML headings",
        h3: " Defines HTML headings",
        h4: " Defines HTML headings",
        h5: " Defines HTML headings",
        h6: " Defines HTML headings",
        head: "Defines information about the document",
        hr: "  Defines a horizontal line",
        html: "Defines an HTML document",
        i: "Defines italic text",
        iframe: "Defines an inline frame",
        img: " Defines an image",
        input: " Defines an input control",
        ins: "Defines inserted text",
        isindex: "Deprecated. Defines a searchable index related to a document",
        kbd: "Defines keyboard text",
        label: "Defines a label for an input element",
        legend: "Defines a caption for a fieldset element",
        li: "Defines a list item",
        link: " Defines the relationship between a document and an external resource",
        map: "Defines an image-map ",
        menu: "Deprecated. Defines a menu list",
        meta: " Defines metadata about an HTML document",
        noframes: "Defines an alternate content for users that do not support frames",
        noscript: "Defines an alternate content for users that do not support client-side scripts",
        object: "Defines an embedded object",
        ol: "Defines an ordered list",
        optgroup: "Defines a group of related options in a select list",
        option: "Defines an option in a select list",
        p: "Defines a paragraph",
        param: " Defines a parameter for an object",
        pre: "Defines preformatted text",
        q: "Defines a short quotation",
        s: "Deprecated. Defines strikethrough text",
        samp: "Defines sample computer code",
        script: "Defines a client-side script",
        select: "Defines a select list (drop-down list)",
        small: "Defines small text",
        span: "Defines a section in a document",
        strike: "Deprecated. Defines strikethrough text",
        strong: "Defines strong text",
        style: "Defines style information for a document",
        sub: "Defines subscripted text",
        sup: "Defines superscripted text",
        table: "Defines a table",
        tbody: "Groups the body content in a table",
        td: "Defines a cell in a table",
        textarea: "Defines a multi-line text input control",
        tfoot: "Groups the footer content in a table",
        th: "Defines a header cell in a table",
        thead: "Groups the header content in a table",
        title: "Defines the title of a document",
        tr: "Defines a row in a table",
        tt: "Defines teletype text",
        u: "Deprecated. Defines underlined text",
        ul: "Defines an unordered list",
        xmp: "Deprecated. Defines preformatted text"
    };

    var result = {
        tag: tagName,
        description: dictionary[tagName.toLowerCase()],
        __proto__: null
    };

    return result;
}