2
嗨,我想在服务器端使用node.js运行js函数,但有一个问题。该函数使用document dom访问返回的html上的一些隐藏值,并且该文档在node.js上未定义,是否有定义文档对象的方法?Node.js定义文档对象
<!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 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/=";
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;
....
目前还不清楚你想要做什么。你是否试图运行'sbb_kVnTj'函数作为服务器端函数?另外,你在哪里使用'文件'?它不在您发布的代码中。请编辑您的问题,以包含您想要做什么的高级描述以及如何尝试实现它。 – apsillers
@apsillers对不起,返回的javascript和id是随机的,这是一种保护。是的,我试图运行sbb_kVnTj这也是一个随机创建的名称,它将返回一个字符,它包括一些document.getgetElementById()在不同的时间请求不同的ID。所以没有合理的workarround,但运行它为JavaScript。 – Evan