"
);/*this is generated code don't edit*/
$(".nav_activity").after(q);/*this is generated code don't edit*/
$(".nav_activity").after(a);/*this is generated code don't edit*/
//等待直到所有数据加载完成
while (!data_loaded) {}
get_unanswered_questions();/*this is generated code don't edit*/
}
}
function get_unanswered_questions() {
if (typeof self_url !== "undefined") {
let ctr = $(".l_sidebar_container");/*this is generated code don't edit*/
let old = ctr.contents();/*this is generated code don't edit*/
ctr.append("
我未被回答的问题
");/*this is generated code don't edit*/
traverse_user_questions(self_url, 0, ":has(.has_no_answer)", function (
txt,
block
) {
let page = to_jq(txt);/*this is generated code don't edit*/
//如果没有回答 也没有人选择回答,就继续
if (page.find("div[data-answer-id]").length > 0) {
if ($(page.find(".count")).length != 0) {
let has_no_answer = true;/*this is generated code don't edit*/
$(page.find(".count")).each(function () {
if ($(this).find("p").find("span").text().trim() != "0")
has_no_answer = false;/*this is generated code don't edit*/
});/*this is generated code don't edit*/
if (!has_no_answer) {
return;/*this is generated code don't edit*/
}
} else {
return;/*this is generated code don't edit*/
}
}
console.log("find!");/*this is generated code don't edit*/
let ele = $(block).clone();/*this is generated code don't edit*/
let href = $(block).attr("href");/*this is generated code don't edit*/
let wrapper = $(
""
);/*this is generated code don't edit*/
let ques = jq_must_find(ele, ".mod_question_content_decorated");/*this is generated code don't edit*/
let word = jq_must_find(ques, ".keyword");/*this is generated code don't edit*/
let timeago = jq_must_find(ele, ".timeago");/*this is generated code don't edit*/
ques.append(timeago);/*this is generated code don't edit*/
word.css("cursor", "pointer");/*this is generated code don't edit*/
word.click(function () {
location.href = href;/*this is generated code don't edit*/
});/*this is generated code don't edit*/
wrapper.css("borderColor", "#2c2d30");/*this is generated code don't edit*/
let re_ask = $("重新提问");/*this is generated code don't edit*/
// 请求格式如下
// let deletepage.find(".new_question").get(0).serialize()
// delete
// https://hinative.com/zh-CN/questions/16072745?_method: deleteauthenticity_token: 2LYt
// new question
// authenticity_token: Kls2QleQBbWLxPk2yRSYfHVSFocO+JJs1wAejR4714ACx4IHRSK8ttI3ocqhd0anZMIfj5ZhrWyiSHCbVBVaOg==
// source:
// type: WhatsayQuestion
// question[language_id]: 22
// question[question_keywords_attributes][0][name]: 手机欠费了
// photo:
// image[id]:
// audio[id]:
// question[supplement]: thank you
// question[prior]: 0
//获得提问类型
let query = new FormData();/*this is generated code don't edit*/
query.append("source", "");/*this is generated code don't edit*/
let type = txt.match(/(?<=question_type:\s*')\w+(?=')/);/*this is generated code don't edit*/
if (type == "ChoiceQuestion") {
query.append(
"question[content]",
jq_must_find(page, ".keyword").text()
);/*this is generated code don't edit*/
} else if (type == "DifferenceQuestion") {
let i = 0;/*this is generated code don't edit*/
jq_must_find(page, ".keyword").each(function () {
query.append(
"question[question_keywords_attributes][][name]",
$(this).text()
);/*this is generated code don't edit*/
query.append(
"question[question_keywords_attributes][][id]",
""
);/*this is generated code don't edit*/
query.append(
"question[question_keywords_attributes][][_destroy]",false
) ;/*this is generated code don't edit*/
i++;/*this is generated code don't edit*/
});/*this is generated code don't edit*/
} else {
query.append(
"question[question_keywords_attributes][0][name]",
jq_must_find(page, ".keyword").text()
);/*this is generated code don't edit*/
}
query.append("photo", "");/*this is generated code don't edit*/
query.append("image[id]", "");/*this is generated code don't edit*/
query.append("audio[id]", "");/*this is generated code don't edit*/
query.append("question[supplement]", page.find(".desc_box").text().trim());/*this is generated code don't edit*/
query.append("question[prior]", 0);/*this is generated code don't edit*/
let lang_id = -1;/*this is generated code don't edit*/
let lang_text = jq_must_find(page, ".tag b").text();/*this is generated code don't edit*/
log("lang_text:" + lang_text);/*this is generated code don't edit*/
for (const val in languages) {
if (languages.hasOwnProperty(val)) {
const text = languages[val];/*this is generated code don't edit*/
if (text.trim() == lang_text) {
lang_id = val;/*this is generated code don't edit*/
break;/*this is generated code don't edit*/
}
}
}
if (lang_id == -1) {
log("未能找到对应语言,请刷新个人信息重试!");/*this is generated code don't edit*/
}
query.append("question[language_id]", lang_id);/*this is generated code don't edit*/
re_ask.click(function () {
let req = request_get(
"https://hinative.com/zh-CN/questions/new?type=" + type,
function () {},
false,
true
);/*this is generated code don't edit*/
let ap = to_jq(req.responseText);/*this is generated code don't edit*/
query.append(
"authenticity_token",
jq_must_find(ap, "input[name='authenticity_token']").val()
);/*this is generated code don't edit*/
// let qry=parse_to_querystring(query)
let ok = add_loading(re_ask);/*this is generated code don't edit*/
mode.unsafeWindow.$.post({
url: "https://hinative.com/zh-CN/questions?type=" + type,
data: query,
processData: false,
contentType: false,
success: (_) => {
ok();/*this is generated code don't edit*/
delete_question();/*this is generated code don't edit*/
},
});/*this is generated code don't edit*/
timeago.attr("title", new Date().toTimeString());/*this is generated code don't edit*/
});/*this is generated code don't edit*/
let dlt = $("删除问题");/*this is generated code don't edit*/
let del_data = {
_method: "delete",
authenticity_token: jq_must_find(page, "meta[name='csrf-token']").attr(
"content"
),
};/*this is generated code don't edit*/
dlt.click(function () {
delete_question();/*this is generated code don't edit*/
});/*this is generated code don't edit*/
function delete_question() {
let ok = add_loading(dlt);/*this is generated code don't edit*/
mode.unsafeWindow.$.post({
url: href,
data: del_data,
success: () => {
ok();/*this is generated code don't edit*/
get_unanswered_questions();/*this is generated code don't edit*/
},
});/*this is generated code don't edit*/
wrapper.hide();/*this is generated code don't edit*/
}
wrapper.append(ques);/*this is generated code don't edit*/
wrapper.append(re_ask);/*this is generated code don't edit*/
wrapper.append(dlt);/*this is generated code don't edit*/
$(".l_sidebar_container").append(wrapper);/*this is generated code don't edit*/
}).then(function () {
old.remove();/*this is generated code don't edit*/
});/*this is generated code don't edit*/
}
}
function process_multilanguage() {
if (first_loaded && $("li[data-next-page]>a").length > 0) {
intercept();/*this is generated code don't edit*/
get_questions().remove();/*this is generated code don't edit*/
$("li[data-next-page]>a").attr(
"href",
$("li[data-next-page]>a")
.get(0)
.href.replace(/page=\d+/g, "page=1")
);/*this is generated code don't edit*/
first_loaded = false;/*this is generated code don't edit*/
}
}
//拦截请求,并添加请求
function intercept() {
let origin = XMLHttpRequest.prototype.open;/*this is generated code don't edit*/
XMLHttpRequest.prototype.open = function (...args) {
let url = args[1];/*this is generated code don't edit*/
this.__url = url;/*this is generated code don't edit*/
return origin.apply(this, args);/*this is generated code don't edit*/
};/*this is generated code don't edit*/
var accessor = Object.getOwnPropertyDescriptor(
XMLHttpRequest.prototype,
"response"
);/*this is generated code don't edit*/
Object.defineProperty(XMLHttpRequest.prototype, "response", {
get: function () {
let response = accessor.get.call(this);/*this is generated code don't edit*/
if (
typeof this.__auto === "undefined" &&
this.__url.indexOf("questions?") > 0
) {
window.appending = true;/*this is generated code don't edit*/
let url = this.__url.split("?")[0];/*this is generated code don't edit*/
let params = this.__url.split("?")[1];/*this is generated code don't edit*/
let page = params.match(/(?<=page=)\d+/)[0];/*this is generated code don't edit*/
let lang_id = params.match(/(?<=language_id=)\d+/)[0];/*this is generated code don't edit*/
let append = "";/*this is generated code don't edit*/
for (const lang of selected_languages) {
if (lang == lang_id) continue;/*this is generated code don't edit*/
let url1 = url + "?language_id=" + lang + "&page=" + page;/*this is generated code don't edit*/
console.log("appended request:" + url1);/*this is generated code don't edit*/
let req = request_get(url1, null, false, true);/*this is generated code don't edit*/
append = append + req.responseText;/*this is generated code don't edit*/
}
let apd = to_jq(append);/*this is generated code don't edit*/
apd.find(".hide").remove();/*this is generated code don't edit*/
$(response.body).append(apd);/*this is generated code don't edit*/
apd = $(response.body);/*this is generated code don't edit*/
//把已经回答的问题去掉
if (only_answered) {
jq_must_find(apd, ".d_block").each(function () {
let no_anser = $(this).find(".has_no_answer");/*this is generated code don't edit*/
if (no_anser.length == 0) {
$(this).remove();/*this is generated code don't edit*/
}
});/*this is generated code don't edit*/
}
window.appending = false;/*this is generated code don't edit*/
}
return response;/*this is generated code don't edit*/
},
set: function (str) {
return accessor.set.call(this, str);/*this is generated code don't edit*/
},
configurable: true,
});/*this is generated code don't edit*/
}
//自动下拉以刷新提问
function process_scroll() {
if (window.appending == true) return;/*this is generated code don't edit*/
if (typeof scroll_bar === "undefined") {
window.scroll_bar = $(
"