1

我正在尝试编译两个<select></select>框之间可能存在的所有链接的列表。这包括在新窗口中打开的链接和发生在当前页面的重定向。实际站点上还有更多选项,几乎有 2000 种可能性,所以手动操作是不可能的......

我正在寻找接近此输出的任何地方,而不是格式,只是数据:

产品1 + AL:

  • 新窗口:/product1.asp
  • 重定向:无

产品1 + AK:

产品1 + AR:

产品2 + AL:

  • ...

产品2 + AK:

  • ...

等等。

我会使用 cURL 但表单并没有真正提交到任何地方,它只使用 JS 打开新窗口和/或重定向当前页面。

这是我正在尝试使用的一个小样本:

<HTML>
    <HEAD>
        <SCRIPT LANGUAGE="JavaScript">
            function submit()
            {
                if (product == "product1"){
                    if (state == "AL"){
                        openWindow('/product1.asp');
                    }
                    else{
                        openWindow('http://affiliate.com/product1.asp');
                        return(window.location="/results.asp?st=" + state + "&pr=product1");
                    }
                }
                if (product == "product2"){
                    openWindow('/product2.asp');
                }
                if (product == "product3"){
                    if (state == "AR") { 
                        openWindow('http://affiliate.com/product3.asp'); 
                    }
                    else{
                        openWindow('/product3'); 
                        return (window.location = "/results.asp?st=" + state + "&pr=product3"); 
                    }
                }
                return(true);
            }

            function openWindow(url)
            {
              window.open(url, '', 'type=fullwindow,fullscreen,scrollbars=yes,toolbar=1,menubar=1');
            }
        </script>
    </HEAD>
    <BODY>
        <form onsubmit="" action="javascript:submit()" method="post" id="form1" name="form1">
            <select name="state" tabindex="1">
                <option value="">Select</option>
                <option value="AK">Alaska</option>
                <option value="AL">Alabama</option>
                <option value="AR">Arkansas</option>
            </select>

            <select name="productType" tabindex="2">
                <option value="">Select</option>
                <option value="product1">Product One</option>
                <option value="product2">Product Two</option>
                <option value="product3">Product Three</option>
            </select>
        </form>
    </BODY>
</HTML>

我想我可以在 Chrome 的控制台窗口中使用 JavaScript,但我无法让 Chrome 停止重定向或打开另一个窗口。

我尝试选择页面上的所有 HTML,运行字符串替换(使用 JS)以替换为window.location变量名,然后将 HTML 重新写入文档,然后调用,它有点工作,它可以获取 URL,但是 Chrome 仍然使用原始的 JS 重定向,我无法访问或查看数据。我什至尝试打开一个新窗口并编写整个页面的 HTML 并在那里替换,但没有...window.location = "/results.asp"redirectLink = "/results.asp"submit()

这是我必须替换它的 JS 代码:

var script = document.getElementsByTagName('script')[0];
var html = scripts[i].innerHTML;
html = html.replace(/window.location/gmi, "redirectLink"); // the "/string/gmi" is to replace globally, on multi-lines, and ignores case
script.innerHTML = html;

在 Chrome 的 Inspect Element 工具中,它确实显示了替换已经完成,但是当调用submit()它时仍然会重定向/打开窗口......我有循环设置来更改选定的值和所有其他东西,它们都可以工作,但是我无法阻止它使用原始 JS 重定向/新窗口废话...

我一直在努力让它连续工作 5 个小时,此时我会因为拔掉所有的头发而秃顶!

是否有可能在浏览器中更改 JavaScript,然后通过修改运行它?有没有更好的方法来解决这个问题?我完全失去了想法......

4

1 回答 1

0

您将不得不为此找到一个插件

于 2014-11-29T11:41:30.663 回答