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