1

我试图理解这个特定的链接。我怀疑它会启动某种 Java 脚本,但我不确定。我最终想要的是提取 URL。

html标签是这样的:

<a href="#" 
    onclick="if(typeof jsfcljs == 
        'function' {jsfcljs(document.getElementById('resultadoForm'),
    {'resultado:0:j_id234':'resultado:0:j_id234'},'');}
    return false">
        11024968
</a>

这可以通过转到http://www.dataescolabrasil.inep.gov.br/dataEscolaBrasil/home.seam,在“Código”中输入“11024968”,然后提交表单(“Pesquisar”)来实现。上面显示的链接适用于“11024968”。

还,

<script type="text/javascript" language="Javascript">function dpf(f) {var adp = f.adp;if (adp != null) {for (var i = 0;i < adp.length;i++) {f.removeChild(adp[i]);}}};function apf(f, pvp) {var adp = new Array();f.adp = adp;var i = 0;for (k in pvp) {var p = document.createElement("input");p.type = "hidden";p.name = k;p.value = pvp[k];f.appendChild(p);adp[i++] = p;}};function jsfcljs(f, pvp, t) {apf(f, pvp);var ft = f.target;if (t) {f.target = t;}f.submit();f.target = ft;dpf(f);};</script>

因此,如果有人能解释如何关注(或提取)文本为“11024968”的网址,我将不胜感激。

4

1 回答 1

2

该链接指向一个空锚。这通常用于 JavaScript 处理的链接。因此,如果您的 JavaScript 失败,只需将哈希标记添加到当前 url。

魔法发生在jsfcljs()JavaScript 函数的代码中。没有代码,我们现在不能说更多。

让我们重新格式化代码并给它们起更好的名字:

function dpf(f) {                  // let's rename this to removeParameters
    var adp = f.adp;               // element store from apf (addParameters)
    if(adp != null) {              // check if the parematers needs to be removed
        for(var i=0; i<adp.length; i++) { // interates thrue the known paramters
            f.removeChild(adp[i]); // removes a child
        }
    }
};
function apf(f, pvp) { // let's rename this to addParameters
    var adp = new Array();
    f.adp = adp;
    var i = 0;
    for(k in pvp) { // iterates thrue the json structure
        // appends all parameters from the json structure to the
        // element store (apd) and to the given formular (f)
        var p = document.createElement("input");
        p.type = "hidden";
        p.name = k;
        p.value = pvp[k];
        f.appendChild(p);
        adp[i++] = p;
    }
};
function jsfcljs(f, pvp, t) { // let's rename this to postJsonData
    apf(f, pvp);              // add paramaters
    var ft = f.target;        // store orginal target
    if(t) {
        f.target = t;         // set new target if given
    }
    f.submit();               // submit the form
    f.target = ft;            // restore target
    dpf(f);                   // remove added parameters
};
于 2013-03-04T19:51:31.203 回答