查看页面上的所有链接并使其发布请求

时间:2017-10-12 06:49:48

标签: javascript html

我正在编写一个j脚本,可以替换页面上的所有链接并将它们转换为表单,因此可以使用post方法而不是get方法发送请求。

我的代码是:

setTimeout(function() {
    var linkss=document.links;
    for (var x=0; x<linkss.length; x++) {

        var href=linkss[x].href;
        var u_id="3";

        linkss[x].href="#";
        linkss[x].onclick=function(){
            var myForm = document.createElement("form");
            myForm.action="http://kodaa.ir/s/";
            myForm.target="myFrame";
            myForm.method="POST";

            var url=document.createElement("input");
            url.name="url";
            url.value="www.google.com";
            myForm.appendChild(url);

            var u=document.createElement("input");
            u.name="u_id";
            u.value="3";
            myForm.appendChild(u);

            myForm.submit();
            return false;
        };
    }
}, 2500);

所以我有两个问题:

1-为什么我的代码不起作用? (它只是删除了href属性,但点击时没有做任何事情)

2-如何将这两个变量(var href AND var u_id)传递给函数内部?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

请尝试以下代码。您错过了将表单对象附加到body元素。我刚刚添加了&#34; document.body.appendChild(myForm);&#34;这一行。

setTimeout(function() {
    var linkss=document.links;
    for (var x=0; x<linkss.length; x++) {

        var href=linkss[x].href;
        var u_id="3";

        linkss[x].href="#";
        linkss[x].onclick=function(){
            var myForm = document.createElement("form");
            myForm.action="http://kodaa.ir/s/";
            myForm.target="myFrame";
            myForm.method="POST";

            var url=document.createElement("input");
            url.name="url";
            url.value="www.google.com";
            myForm.appendChild(url);

            var u=document.createElement("input");
            u.name="u_id";
            u.value="3";
            myForm.appendChild(u);
            document.body.appendChild(myForm);

            myForm.submit();
            return false;
        };
    }
}, 2500);