解決方法(1): firefox 可用

 

在當前頁面新建一個form,該form提交的內容與查詢表單一致,同時 form.setAttribute(‘accept-charset’,'gbk’);

 

var JJWXC_QUERY_URL = "HTTP://www.jjwxc.net/search.php";
var JJWXC_QUERY_TYPE = {
"book":"1",
"writer":"2",
"lead":"4",
"support":"5",
"other":"6",
"作品":"1",
"作者":"2",
"主角":"4",
"配角":"5",
"其他":"6"
};

 

function query_ljj_form(keyword, type) {
var doc = window.content.document;
var form=doc.createElement("form");
form.target='_blank';
form.action= JJWXC_QUERY_URL;
form.setAttribute('accept-charset', 'gbk');

 

var kw = doc.createElement("input");
kw.type="text";
kw.name="kw";
kw.value=keyword;
form.appendChild(kw);

 

var t = doc.createElement("input");
t.type="text";
t.name="t";
t.value=JJWXC_QUERY_TYPE[type];
form.appendChild(t);

 

var s = doc.createElement("input");
s.type="submit";
s.value='ok';
form.appendChild(s);

 

doc.body.appendChild(form);

 

form.submit();
doc.body.removeChild(form);
return ;
}

 

解決方法(2): chrome可用

 

在當前頁面新建一個iframe,該iframe中內嵌一個元素包含了需要轉碼的關鍵字,然後修改頁面編碼d.charset=d.characterSet="gbk"; 實現編碼轉換後,再從該元素內取出轉碼後的關鍵字

 

注意,firefox中 characterSet屬性是唯讀的,無法寫入

 

function getGBKEscape(s) {
var iframe=document.createElement("iframe");
iframe.src="about:blank";
iframe.setAttribute("style","display:none;visibility:hidden;");
document.body.appendChild(iframe);
var d=iframe.contentWindow.document;
d.charset=d.characterSet="gbk";
d.write("<body><a href='?"+s+"'>gbk</a></body>");
d.close();
var url=d.body.firstChild.href;
var gbk = url.substr(url.lastIndexOf("?")+1);
document.body.removeChild(iframe);
return gbk;
}
arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()