Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法访问javascript注入函数_Javascript_Firebug_Bookmarklet_Onsubmit - Fatal编程技术网

无法访问javascript注入函数

无法访问javascript注入函数,javascript,firebug,bookmarklet,onsubmit,Javascript,Firebug,Bookmarklet,Onsubmit,我将以下代码直接注入我的浏览器地址栏。如果我在Firebug中的HTML选项卡上编辑一点(甚至不更改任何代码),它就会工作。这段代码将更改页面上所有表单的onsubmit事件,以调用一个函数,该函数检索该表单的字段值,并将其作为GET方法发送到另一个URL。是同源策略阻止了我这么做,还是我的代码真的错了 注意:对于糟糕的单行编码和低效的解析,我感到抱歉 javascript:(function () { document.getElementsByTagName('head').item

我将以下代码直接注入我的浏览器地址栏。如果我在Firebug中的HTML选项卡上编辑一点(甚至不更改任何代码),它就会工作。这段代码将更改页面上所有表单的onsubmit事件,以调用一个函数,该函数检索该表单的字段值,并将其作为GET方法发送到另一个URL。是同源策略阻止了我这么做,还是我的代码真的错了

注意:对于糟糕的单行编码和低效的解析,我感到抱歉

javascript:(function () {
    document.getElementsByTagName('head').item(0).innerHTML += '<script>function scGD(i){i--;var value="form="+i;for(var j=0;j<document.forms[i].elements.length;j++){if(document.forms[i].elements[j].name!=""&&document.forms[i].elements[j].name!=null){value+="&"+document.forms[i].elements[j].name+"="+document.forms[i].elements[j].value;}}alert("Value is: "+value);window.open("./postvalidation.php?"+value);}</script>';
    var split2 = [];
    var split3 = [];
    var split1 = document.getElementsByTagName('body')[0].innerHTML.split("<form");
    for (var i = 1; i < split1.length; i++) {
        split2[i - 1] = split1[i].split(">");
        split3[i - 1] = split2[i - 1][0].split("onSubmit=\"", 2);
        if (split3[i - 1].length == 1) {
            split3[i - 1] = split2[i - 1][0].split("onsubmit=\"");
        }
        if (split3[i - 1].length == 1) {
            split3[i - 1] = split2[i - 1][0].split("ONSUBMIT=\"");
        }
        if (split3[i - 1].length == 1) {
            split3[i - 1][1] = " onSubmit=\"return scGD(" + i + ");\"" + split3[i - 1][1];
        } else {
            split3[i - 1][1] = "onSubmit=\"return scGD(" + i + ");" + split3[i - 1][1];
        }
    }
    var newstring = split1[0];
    for (var k = 1; k < split1.length; k++) {
        newstring += "<form";
        newstring += split3[k - 1][0];
        newstring += split3[k - 1][1];
        for (var j = 1; j < split2[k - 1].length; j++) {
            newstring += ">";
            newstring += split2[k - 1][j];
        }
    }
    document.getElementsByTagName('body')[0].innerHTML = newstring;
})()
javascript:(函数(){

document.getElementsByTagName('head').item(0).innerHTML+='函数scGD(i){i--;var value=“form=“+i;for(var j=0;j如果我正确理解您的问题,您实际上只需要更改表单的方法和操作属性:

(function(){
    var f = document.forms;
    for(var x = 0; x < f.length; x++) {
        f[x].method = 'GET';
        f[x].action = 'http://www.cs.tut.fi/cgi-bin/run/~jkorpela/echo.cgi';
    }
})()
(函数(){
var f=document.forms;
对于(变量x=0;x

在一行中,这将是
javascript:(function(){var f=document.forms;for(var x=0;x如果我正确理解您的问题,您实际上只需要更改表单的方法和操作属性:

(function(){
    var f = document.forms;
    for(var x = 0; x < f.length; x++) {
        f[x].method = 'GET';
        f[x].action = 'http://www.cs.tut.fi/cgi-bin/run/~jkorpela/echo.cgi';
    }
})()
(函数(){
var f=document.forms;
对于(变量x=0;x

在一行中,这将是
javascript:(function(){var f=document.forms;for席瓦克X=0;XI理解书签需要在一行上,但是你能格式化这个,这样它更可读吗?我知道书签需要在一行上,但是你能格式化这个,以便它更可读吗?嗨社区,抱歉打开一个老的蠕虫,但是有人知道我在谷歌浏览器里会怎么做吗?允许我这样做吗?嗨,社区,很抱歉打开一个旧的蠕虫罐头,但是有人知道我在谷歌Chrome中是怎么做的吗?它会允许我这样做吗?