8

Hi i am trying to run a js function on server side using node.js but there is a problem. The function is using document dom to access some hidden values on the returned html and the document is undefined on node.js, is there a way to define the document object?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux/x86 (vers 11 February 2007), see www.w3.org" />

  <title></title>
</head>

<body>
  <form id="sbb_KoNkmwM" method="post" style="display:none" name="sbb_KoNkmwM">
    <input name='sbb_BQGUL' type='checkbox' value='IbNlk' /><input name='sbb_BQGUL' type=
    'checkbox' value='huTi' /><input name='sbb_BQGUL' type='checkbox' checked="checked"
    value='qGx' /><input name='sbb_BQGUL' type='checkbox' value='WGrkKwxP' /><input name=
    'sbb_BQGUL' type='checkbox' value='tgQHP' /><input name='sbb_BQGUL' type='checkbox'
    value='dDrn' />
  </form>

 function sbb_kVnTj() {
    var data = 'ZmdiRlhjdQ==';
    var rEda = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
    ac = 0,
    dec = "",
    tmp_arr = [];
    do {
        h1 = rEda.indexOf(data.charAt(i++));
        h2 = rEda.indexOf(data.charAt(i++));
        h3 = rEda.indexOf(data.charAt(i++));
        h4 = rEda.indexOf(data.charAt(i++));
        bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;
        o1 = bits >> 16 & 0xff;
        o2 = bits >> 8 & 0xff;
        o3 = bits & 0xff;
        if (h3 == 64) {
            tmp_arr[ac++] = String.fromCharCode(o1);
        } else if (h4 == 64) {
            tmp_arr[ac++] = String.fromCharCode(o1, o2);
        } else {
            tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);
        }
    } while ( i < data . length );
    dec = tmp_arr.join('');
    return dec.substr(6, 1);

}
function sbb_MHVY() {
    function sbb_iSH(objArr) {
        var ts = '';
        for (i = 0;
....
2
  • It's not clear what you want to do. Are you trying to run the sbb_kVnTj function as a server-side function? Also, where are you using document? It's not in the code you posted. Please edit your question to include a high-level description of what you want to do and how you are trying to achieve it. Commented Aug 27, 2012 at 13:30
  • @apsillers Ups sorry, the returned javascript and ids are random, it is a protection. Yes i am trying to run sbb_kVnTj which is also a name randomly created, it will return a character and it includes some document.getgetElementById() requesting different ids at different times. So there is no reasonable workarround but run it as javascript. Commented Aug 27, 2012 at 13:56

1 Answer 1

4

Yes, there are ways to create documents in Node. For example you can look at jsdom: https://github.com/tmpvar/jsdom.

Sign up to request clarification or add additional context in comments.

1 Comment

jsdom has very limited capability as compared to actual DOM Object.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.