0

私の最後の質問は、十分に明確ではないため閉じられました。これが起こらないように、ここで詳しく説明します。

4 つのボタンを含む popup.html があります。アイコンをクリックすると、特定のページで発生する必要があり、popup.html がポップアップします。各ボタンをクリックして、アクティブなタブのそのページの各ボタンに対して実行する特定の JavaScript コードが必要です。

関数を実行するためだけに popup.html "http://cnn.com' onclick='alert("test");'>" でこれを試しましたが、うまくいきません。このサイトまたはGoogle devの例で、このタスクを完了するための特定のコードが見つかりませんでした。

基本的に、「popup.html」ページに表示されるボタンの場合、「javascript:document.getElementById(%22forwardbutton%22).click();」を実行するには、この JavaScript が必要です。

または、「javascript: var auto = { names : '0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 のような他の関数の 1 つ5 6 7 8 9', 宣伝文: '0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9', password : 'secret', fillup : function () { var all_inputs = document.getElementsByTagName('input'); [...] next.click();"

現在、ブックマーク メニューの「ブックマーク」からそのコードを実行していますが、パッケージ化された拡張機能に組み込みたいと考えていました。

それが十分に明確であることを願っています。私が抱えている主な問題は、コードを実行できることです。ボタンをクリックしてアクティブなタブで「機能」を実行できるようになると、残りの部分を理解できるようになります。十分に近いサンプル コード サイトを教えていただければ、非常に役立ちます。質問して申し訳ありませんが、検索したリソースではわかりません。

前もって感謝します!


編集:これは私が実行する必要がある私の機能です。ここにコードがありますが、実行されません。

document.addEventListener('DOMContentLoaded', function () {
var divs = document.getElementById('ADD');
divs.addEventListener('click', ADD);
});


function ADD(e) {
var auto = {
names: '0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9',
blurb: '0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9',
password: 'secret',
fillerup: function () {
    var all_inputs = document.getElementsByTagName('input');
    var all_selects = document.getElementsByTagName('select');
    var all_textareas = document.getElementsByTagName('textarea');
    var textflag = this.getRand(1);
    for (var i = 0, max = all_selects.length; i < max; i) {
        var sel = all_selects[i];
        if (sel.selectedIndex != -1 && sel.options[sel.selectedIndex].value) {
            continue;
        }
        var howmany = 1;
        if (sel.type == 'select-multiple') {
            var howmany = 1 this.getRand(sel.options.length - 1);
        }
        for (var j = 0; j < howmany; j) {
            var index = this.getRand(sel.options.length - 1);
            sel.options[index].selected = 'selected';
        }
    }
    for (var i = 0, max = all_textareas.length; i < max; i) {
        var ta = all_textareas[i];
        var flag = this.getRand(1);
        if (ta.value) {
            ta.value = "";
            continue;
        } else {
            ta.value = this.getRandomString(10)
            '\n\n'
            this.getRandomString(10);
        }
    }
    for (var i = 0, max = all_inputs.length; i < max; i) {
        var inp = all_inputs[i];
        var type = inp.getAttribute('type');
        var id = inp.getAttribute('id');
        if (!type) {
            type = 'text';
        }
        if (type == 'checkbox') {
            var flag = this.getRand(1);
            if (flag) {
                inp.setAttribute('checked', 'checked');
            } else {
                inp.removeAttribute('checked');
            }
        }
    }
    for (var i = 0, max = all_inputs.length; i < max; i) {
        var inp = all_inputs[i];
        var type = inp.getAttribute('type');
        var id = inp.getAttribute('id');
        var flag = this.getRand(1);
        if (type == 'text') {
            if (!flag) {
                inp.value = '';
                continue;
            }
            if (inp.name.indexOf('name') != -1) {
                inp.value = this.getRandomName()
                ' '
                this.getRandomName();
            } else if (inp.name.indexOf('email') != -1) {
                inp.value = this.getRandomString(1)
                '@example.org';
            } else {
                inp.value = this.getRandomString(1);
            }
        }
    }
    for (var i = 0, max = all_inputs.length; i < max; i) {
        var inp = all_inputs[i];
        var type = inp.getAttribute('type');
        var id = inp.getAttribute('id');
        var flag = this.getRand(1);
        if (type == 'radio') {
            var to_update = true;
            var name = inp.name;
            var input_array = inp.form.elements[inp.name];
            if (to_update) {
                var index = this.getRand(input_array.length - 1);
                input_array[index].setAttribute('checked', 'checked');
            }
        }
    }
},
getRandomString: function (how_many_words) {
    if (!how_many_words) {
        how_many_words = 2;
    }
    if (!this.words) {
        this.words = this.blurb.split(' ');
    }
    var retval = '';
    for (var i = 0; i < how_many_words; i) {
        retval = this.words[this.getRand(this.words.length) - 1];
        retval = (i < how_many_words - 1) ? ' ' : '';
    }
    return retval;
},
getRandomName: function () {
    if (!this.split_names) {
        this.split_names = this.names.split(' ');
    }
    return this.split_names[this.getRand(this.split_names.length) - 1];
},
getPassword: function () {
    if (!this.password) {
        this.password = 'secret';
    }
    return this.password;
},
getRand: function (count) {
    return Math.round(count * Math.random());
}
};
auto.fillerup();
var next = document.getElementById(forwardbutton);
next.click();
}
4

0 に答える 0