从URL获取参数

GET parameters from URL

本文关键字:参数 获取 URL      更新时间:2023-09-26

我有一个类似http://www.test.pl/product-pol-4406.html的URL

使用Geasemonkey脚本,我想从URL中获得"4406"部分,但我不知道如何做到这一点。我的代码是:

var input=document.createElement("input"); 
input.type="button";
input.value="Edytuj";
input.alt="visitPage";
input.onclick = visitPage;
input.setAttribute("style", "font- size:18px;position:absolute;top:120px;right:40px;");
document.body.appendChild(input); 
function visitPage(){
    window.location='https://test.pl/panel/product-edit.php?idt=4406';
}

有什么建议吗?请。

使用下面的函数在javascript中获取'idt'

 function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/['[']]/g, "''$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/'+/g, " "));
}
var result= = getParameterByName('idt');

就用

var url = window.location.href;

获取完整的URL。根据你的需要,你可以用regex解析URL,然后得到你需要的东西,或者例如,用分隔符拆分它,得到它的一部分,这对你正在使用的URL类型有意义。

如果您想从给定的url获取产品id,然后传递到php页面。你可以试试这个

var url = "http://www.test.pl/product-pol-4406.html" //window.location.href
if(url){
    url = url.substr(url.lastIndexOf("/") + 1);
  var productID = url.match(/'d+/);
    alert(productID);
}
更新:

function getProductID(){
    var url = "http://www.test.pl/product-pol-4406.html" //window.location.href
    if(url){
        url = url.substr(url.lastIndexOf("/") + 1);
        return url.match(/'d+/);
    }
}

然后调用visitePage()函数内部的函数

function visitPage(){
    var productID = getProductID();
    if(productID){
        window.location='https://test.pl/panel/product-edit.php?idt='+productID;
    }
}