您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Browse textbook answers on Slader.com in faster, cleaner interface.
// ==UserScript== // @name slader-infinite // @namespace https://greasyfork.org/en/users/94062-oshaw // @version 2.0.1 // @description Browse textbook answers on Slader.com in faster, cleaner interface. // @author Oscar Shaw // @include *://slader.* // @grant GM_xmlhttpRequest // @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js // @run-at document-start // @noframes // ==/UserScript== function tag(str_tag) { switch (str_tag[0]) { case '.': return document.getElementsByClassName(str_tag.substring(1)); case '#': return document.getElementById(str_tag.substring(1)); default: return document.getElementsByTagName(str_tag); } } function view(str) { window.open().document.body.appendChild(document.createElement('pre')).innerHTML= str; } function attempt(anon) { try { anon(); } catch(str_error) { console.log(str_error); } } function def(var_input) { return !(var_input == null || var_input == undefined || var_input == ""); } function numeric(char_input) { return ("1234567890".indexOf(char_input) != -1); } function get(url, anon) { GM_xmlhttpRequest({ method: "GET", url: url, onload: function(kvp) { anon(kvp.responseText); } }); } function trimSpaces(str) { var int_start = 0; var int_end = str.length - 1; for (var i = 0; i < str.length; i++) { if (str[i] != ' ' && str[i] != "\n") { int_start = i; break; } } for (var i = str.length-1; i >= 0; i--) { if (str[i] != ' ' && str[i] != "\n") { int_end = i; break; } } return str.substring(int_start, int_end+1); } function urlEncode(url) { var url_output = ""; for (var i=0; i < url.length; i++) { url_output += (url[i] == ' ') ? "+" : url[i]; } return url_output; } function clearBody() { window.stop(); $("body").html(""); } function titleCase(str) { return str.replace( /\w\S*/g, function(txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); } ); } function class_sladerClient() { var kvp_textbook = { chapters: [] }; var kvp_query = {}; var url_base = "http://slader.com"; var int_chapter = -1; var int_section = -1; var int_question = -1; var int_searchResults = 20; var bool_getLargeImages = false; function func_dirToHeader(url) { if (url.indexOf("#concept-check") != -1) { return "Review: Concept Check"; } else if (url.indexOf("#review-exercises") != -1) { return "Exercises"; } else if (url.indexOf("#review-true-false-quiz") != -1) { return "Review: True-False Quiz"; } else if (url.indexOf("#problems-plus") != -1) { return "Problems Plus"; } else return "Exercises"; } function model_getTextbookResults(str_query) { if (!def(str_query)) return; kvp_query = { str_query: str_query, textbooks: [] } GM_xmlhttpRequest({ method: "POST", url: ( "https://8bbzgj41nl-dsn.algolia.net/" + "1/indexes/*/queries?" + "x-algolia-agent=Algolia%20for%20vanilla%20JavaScript%203.20.3" + "&x-algolia-application-id=8BBZGJ41NL" + "&x-algolia-api-key=ecc53b33402d31d49ed35804e2707bd6" ), data: ( '{"requests":[{"indexName":"textbook_index",\ "params":"query=' + kvp_query.str_query + '&hitsPerPage=' + int_searchResults + '&page=0"}]}' ), onload: function(kvp) { var kvps_results = JSON.parse(kvp.responseText).results[0].hits; $.each(kvps_results, function(i, kvp_result) { kvp_query.textbooks.push({ str_name: kvp_result.title, str_edition: kvp_result.edition, str_author: kvp_result.authors_string, str_isbn: kvp_result.isbn, url_thumbnail: kvp_result.search_thumbnail, url_path: kvp_result.get_absolute_url, chapters: [] }); }); view_addTextbookResults(); } }); } function model_getTextbookContents(int_textbookIndex) { get(kvp_query.textbooks[int_textbookIndex].url_path, function(html) { var jsects_chapters = ( $("<div/>") .html(html) .find(".toc-item") ); kvp_textbook = kvp_query.textbooks[int_textbookIndex]; kvp_textbook.chapters = []; $.each(jsects_chapters, function(i, sect_chapter) { var jsect_chapter = $("<div/>").html(sect_chapter.innerHTML); kvp_textbook.chapters.push({ str_number: i + 1, str_name: trimSpaces( jsect_chapter .find(".chapter").eq(0) .find("p").eq(0).text() ), sections: [] }); $.each(jsect_chapter.find(".exercise-group"), function(j, tr) { kvp_textbook.chapters[i].sections .push({ questions: [] }); kvp_textbook.chapters[i].sections[j] .url_pageStart = url_base + tr.getAttribute("data-url"); var jtr = $("<div/>").html(tr.innerHTML); $.each(jtr.find("td"), function(k, td) { switch (k) { case 0: { kvp_textbook .chapters[i].sections[j] .str_number = trimSpaces(td.textContent); break; } case 1: { if (def(trimSpaces(td.textContent))) { kvp_textbook .chapters[i].sections[j] .str_name = trimSpaces(td.textContent); } break; } case 2: { if (!def(kvp_textbook .chapters[i].sections[j] .str_name)) { kvp_textbook .chapters[i].sections[j] .str_name = trimSpaces(td.textContent); } break; } case 3: { kvp_textbook .chapters[i].sections[j] .int_pageStart = parseInt( td.textContent.substring(2) ); break; } default: break; } }); }); }); view_pageTextbookContents(); }); } function model_getQuestionsInSection(int_chapterIndex, int_sectionIndex) { int_chapter = int_chapterIndex; int_section = int_sectionIndex; { var int_page = ( kvp_textbook.chapters[int_chapter] .sections[int_section].int_pageStart ); } { var url = kvp_textbook.url_path + int_page; } { var str_header = func_dirToHeader( kvp_textbook.chapters[int_chapter] .sections[int_section].url_pageStart ); } var anon_loopThroughPages = function() { model_getQuestionsOnPage( url_base + kvp_textbook.url_path + int_page, str_header, int_page, function(int_next) { int_page = int_page + 1; if (int_page == int_next) anon_loopThroughPages(); } ); } view_addQuestionPageHeader(); anon_loopThroughPages(); } function model_getQuestionsOnPage(url, str_header, int_page, anon_callback) { get(url, function(html) { var jdivs_questions = $("<div/>").html(html).find(".list").children(); var bool_inSection = false; $.each(jdivs_questions, function(i, div_question) { var bool_isHeader = false; if (div_question.tagName == "H3") { bool_isHeader = true; if (div_question.textContent == str_header) { bool_inSection = true; } else bool_inSection = false; } if (bool_inSection && !bool_isHeader) { var jdiv_question = $("<div/>").html(div_question); var str_number = jdiv_question.find(".answer-number").eq(0).text(); str_number = str_number.substring(0, str_number.indexOf('.')); var url_solutions = div_question.getAttribute("data-url"); var kvp_question = ({ str_number: str_number, url_solutions: url_base + url_solutions, solutions: [] }); if (i == 1) kvp_question.int_page = int_page; var jp_answer = (jdiv_question.find(".answer").eq(0)); $.each(jp_answer.children(), function(j, lmt) { if (lmt.tagName == "IMG") { if (bool_getLargeImages && lmt.src.indexOf("large") != -1) { kvp_question.url_imgAnswer = lmt.src; } else if (lmt.src.indexOf("large") == -1) { kvp_question.url_imgAnswer = lmt.src; } } }); if (!def(kvp_question.url_imgAnswer)) { kvp_question.str_answer = trimSpaces(jp_answer.text()); } kvp_textbook.chapters[int_chapter] .sections[int_section].questions.push(kvp_question); } }); view_addUnaddedQuestions(); anon_callback(parseInt($("<div/>").html(html).find(".next").eq(0).text())); }); } function model_getSolutions(int_questionIndex) { int_question = int_questionIndex; var url_solution = ( kvp_textbook.chapters[int_chapter] .sections[int_section].questions[int_question].url_solutions ); get(url_solution, function(html) { GM_xmlhttpRequest({ method: "GET", url: "https://slader.com" + ( $("<div/>").html(html).find(".left").eq(0) .children().eq(2).attr("data-url") ), headers: { "X-Requested-With": "XMLHttpRequest" }, onload: function(kvp) { var jartcs_solutions = ( $("<div/>").html(kvp.responseText) .find("article") ); $.each(jartcs_solutions, function(i, artc_solution) { { kvp_textbook.chapters[int_chapter] .sections[int_section].questions[int_question] .solutions.push({ steps: [] }); } { var kvp_solution = ( kvp_textbook .chapters[int_chapter].sections[int_section] .questions[int_question].solutions[i] ); } { kvp_solution.str_answerer = titleCase( $(artc_solution).find(".profile-name").eq(0) .text() ); } var jartc_solution = $("<div/>").html(artc_solution); { var jdivs_steps = ( jartc_solution.find(".solution-row.explanation-row") ); } $.each(jdivs_steps, function(j, div_step) { kvp_textbook .chapters[int_chapter].sections[int_section] .questions[int_question].solutions[i] .steps.push({ url_imgWork: "", str_work: "", url_imgExplain: "", str_explain: "" }); var jdivs_cells = ( $("<div/>").html(div_step) .find(".solution-content") ); $.each(jdivs_cells, function(k, div_cell) { var jlmts = ( $("<div/>").html(div_cell) .children().eq(0).children() ); var kvp_step = ( kvp_textbook .chapters[int_chapter] .sections[int_section] .questions[int_question] .solutions[i].steps[j] ); $.each(jlmts, function(l, lmt) { switch (lmt.tagName) { case "IMG": { if (lmt.src.indexOf("large") == -1 && bool_getLargeImages) break; if (lmt.src.indexOf("large") != -1 && !bool_getLargeImages) break; if (!def(kvp_step.url_imgWork) && !def(kvp_step.p_work)) { kvp_step.url_imgWork = lmt.src; } else kvp_step.url_imgExplain = lmt.src; break; } case "P": { if (lmt.classList.contains("center")) break; if (!def(kvp_step.url_imgWork) && !def(kvp_step.p_work)) { kvp_step.str_work = trimSpaces(lmt.textContent); } else kvp_step.str_explain = trimSpaces(lmt.textContent); break; } case "A": { if (!def(kvp_step.url_imgWork) && !def(kvp_step.p_work)) { kvp_step.url_imgWork = lmt.getElementsByTagName("IMG")[0].src; } else kvp_step.url_imgExplain = lmt.getElementsByTagName("IMG")[0].src; break; } default: break; } }); }); }); { var jlmts_answerElements = ( jartc_solution .find(".solution-row.result-row").eq(0) .find(".solution-content").eq(0).children() ); } $.each(jlmts_answerElements, function(j, lmt) { switch (lmt.tagName) { case "IMG": { if (lmt.src.indexOf("large") == -1 && bool_getLargeImages) break; if (lmt.src.indexOf("large") != -1 && !bool_getLargeImages) break; kvp_solution.url_imgAnswer = lmt.src; break; } case "P": { kvp_solution.str_answer = trimSpaces(lmt.textContent); break; } default: break; } }); }); view_pageSolutions(); } }); }); } var kvp_colors = { css_black: "rgb(38, 38, 38)", css_graySearch: "rgb(127, 127, 127)", css_grayText: "rgb(191, 191, 191)", css_blueMask: "rgb(229, 241, 255)", css_grayLine: "rgb(217, 217, 217)", css_blueBg: "rgb(229, 241, 255)", css_grayBg: "rgb(237, 237, 237)", css_whiteBg: "rgb(255, 255, 255)" } var kvp_images = { uri_search: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAAzCAMAAAF+jSCzAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACTUExURQAAAD8/Px8fHyoqKh8fHyYmJioqKiUlJScnJyMjIygoKCUlJSQkJCYmJicnJyUlJSYmJiUlJSYmJiUlJSYmJiUlJSUlJSUlJSUlJSYmJiUlJSYmJiUlJSUlJSYmJiYmJiUlJSUlJSYmJiUlJSUlJSUlJSUlJSYmJiUlJSUlJSUlJSYmJiUlJSYmJiUlJSYmJiYmJh9o+NMAAAAwdFJOUwAECAwQFBgbICQsMDg8VFhcYGRscHR8gJufo6err7O7v8PHy8zT19vf4efv8/f7+zSf2k8AAAAJcEhZcwAAFxEAABcRAcom8z8AAAJISURBVDhPxZXpdhoxDIXNWhIKaYCkFAIFWgKlw9Tv/3TVla6XWchJ86ffgfGVZJmxLRvn3GYgD+e8AEseaAdsgx/so8DjgAej8n2QLz5qeq9dRLEF6BvHMuH9Ec3BrBGj0utBdOjqjqL3cUhDbG2/nJfaCvcY3l/MUM3hpZXn3DLib7QYm2Q8en/tfbNM5646GA3XE/UcLaVuUVQ4YQTwSIdhrx240itY/3vIrcqeumXO0Q/03ajPmbb3DNayEsHEogXt56ZL6GfTwkVjkZ90K9iVjMruRGSbPhqjepPB8nDeVpcTyOYZlw49Rj6dz/SBgj5jQq9zP+gJhNG6an2HvFPJorMpfaWhkUyX1JbDBYecmRRg7ZLsmxRgFUmOTQqwTkm+mBRgrZOMy7mCcWd6Ac3XsjUzzRS/GvWmVvoL+jnfRKhJ56b0BFLkdo7DMRJeP1mbRQJaxB+LVDdf0UicTI5EWv0SueFv0J3v9fyQ/aLLQDvDenkpR+5Nk0m1TDOKKbtUGNZOb5VL83fisRHK7Wzc749nm3xGrNmIXKmkDEWvPKWkdJeAQQzo4cl5YcD7ET2K3ltgS0eGljJY0aHIn4mRDkkE/yoKj4yhtyZI5y3CUoqnz7D7WGjePekc8CAbcW3LxroPw79LrQDtfgRP9JC0T6/0kG624+u4jMO4Tt7/rk+xU7vG6/xqqeHbhajsW06km7xZjO05nXkj6Q9b0JojjOar3akoTrv1AmvdS+t4O6fG/8h57y0Tct7bHyDnX/oD3p7O/QU6/7WrNM7DhwAAAABJRU5ErkJggg==" , uri_back: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAtCAMAAAGheIgcAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAtUExURQAAACoqKioqKiUlJSYmJiUlJSQkJCYmJiUlJSUlJSUlJSYmJiUlJSUlJSYmJv/1pYIAAAAOdFJOUwAMGGx4j5+fw9fY3d/lzwLVSgAAAAlwSFlzAAAXEQAAFxEByibzPwAAAQNJREFUOE/dlOuywiAMhEE9inrk/R/XEBYIlwjtjI7j90OyLktpuZiC97KhluDCsTbmD20Evfn3gc4O2ZQoowUwHsOBSJDO56cwpI8oeyrHeTEtil1RNuLeiMSFJEoiqGqaxESiVanmJ6HpEScoQTTKbDOqId6nwO8SF6aFrbEJKz2sWpTC1FTeuVm7Cou2x9afXECO4rEz9OAcIAUfdhp0Z2a9GFDxopW84Zd/owdVwx7qFvJQ9ejbZg2rHlAVigS2xBAJrMZEhA79YBv1fG/khu6BxYi81HZEJqR77gy9RL4c7fheHZJDW2IiRLF//Btwyxu+Wqffje04hjsO/NbIDGOerNknYTaMYyIAAAAASUVORK5CYII=" , uri_cross: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAtCAMAAAGVAUkAAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAtUExURQAAAD8/PyoqKioqKicnJyUlJSUlJSYmJiYmJiUlJSUlJSUlJSUlJSUlJSYmJvl4FQgAAAAOdFJOUwAEDBhUWGBwd7/D09f7tQnJcwAAAAlwSFlzAAAXEQAAFxEByibzPwAAAYBJREFUOE+FkwF2gzAMQzNYy0Yp9z/uLFkhNkk6vY7Y8l+wA5Sq0372ZxdcPcaVHmIJBfwCZtBZVgZlo20hc8JOMlDE0JO8jHXuvhiyn0wM/1biIZMaeqIQgDZAeCgh4LuJteTXEv+3/c0latMmEge0cdvuJmQseDdeYBg7Q4HL1aPJC1AwITcPZZKbUOjKDY5lUoFxnYoxCmszIRR84jXf3U7kk85FAbWpSdss+HZE9HHH5vPgzF9oV58uO4l+c6Mf3eZn9/Kp5kY/us3Pbik/boe5IL+bKfmXm3x1xmvza79trujGeaMb/SeD2q98i+xND1PQ57M9gktfT/zli7Tk92CoR5iu05PfRxVa32c4iseF+5QTvBYdfyiDOryi0OvLjKV9Yjc8ou86+BgfolCPT1Eo43q7qA6FEn5piEI9PkWhjH9E81im4WOSbig0wwcoNMLzufbnHtQ/gineo9AQH6NQj6/4DF39uQZcReE9CgkPRcPHKGT4rYiv4B+V8gdsgyznJwkzBgAAAABJRU5ErkJggg==" } var bool_displayQuestions = false; var bool_viewingSolution = false; var bool_searchingTextbook = false; var int_iconFrameSize = 48; var int_iconSize = 20; var int_iconToTextPadding = 10; var int_searchMaskPercentOpacity = 30; var int_leftPadding = int_iconFrameSize + int_iconToTextPadding; function view_formatTextLarge(jp, bool_bold = true) { jp.css({ "color": kvp_colors.css_black, "font-size": "16px", "font-weight": (bool_bold) ? "bold" : "normal" }); } function view_formatTextSmall(jp, bool_gray = false) { jp.css({ "color": (bool_gray) ? kvp_colors.css_grayText : kvp_colors.css_black, "font-size": "12px" }); } function view_formatBlueBgOnHover(jdiv, jdiv_applyEffectTo = null) { if (!def(jdiv_applyEffectTo)) jdiv_applyEffectTo = jdiv; jdiv.hover(function() { $(jdiv_applyEffectTo).css("backgroundColor", kvp_colors.css_blueBg); }, function() { $(jdiv_applyEffectTo).css("backgroundColor", kvp_colors.css_whiteBg); }); } function view_formatGrayBgOnHover(jdiv, jdiv_applyEffectTo = null) { if (!def(jdiv_applyEffectTo)) jdiv_applyEffectTo = jdiv; jdiv.hover(function() { $(jdiv_applyEffectTo).css("backgroundColor", kvp_colors.css_grayBg); }, function() { $(jdiv_applyEffectTo).css("backgroundColor", kvp_colors.css_whiteBg); }); } function view_addBackHeader(str_title, str_subtitle, anon_onClick) { var uri_back = kvp_images.uri_back; { $("body").append( '<div id="div_header">' + '<div id="div_imgBackWrapper">' + '<img id="img_back" src="' + uri_back + '">' + '</div>' + '<div id="div_headerDetailWrapper">' + '<p id="p_headerTitle">' + str_title + '</p>' + '<p id="p_headerSubtitle">' + str_subtitle + '</p>' + '</div>' + '</div>' ); } $("#div_header").css({ "background-color": kvp_colors.css_grayBg, "display": "flex" }); $("#div_imgBackWrapper").click(anon_onClick); $("#div_imgBackWrapper").css({ "cursor": "pointer", "display": "flex", "flex-shrink": "0", "height": int_iconFrameSize.toString() + "px", "width": int_iconFrameSize.toString() + "px" }); $("#img_back").css({ "bottom": "0", "display": "flex", "margin": "auto", "height": int_iconSize.toString() + "px", "width": int_iconSize.toString() + "px", }); $("#div_headerDetailWrapper").css({ "display": "flex", "flex-direction": "column", "justify-content": "center", "padding-left": int_iconToTextPadding.toString() + "px" }); view_formatTextLarge($("#p_headerTitle")); view_formatTextSmall($("#p_headerSubtitle")); } function view_addTextbookSearch(str_query = "") { clearBody(); var str_placeholder = "Search textbooks"; var html_iconSearch = kvp_images.uri_search; { $("body").append( '<div id="div_searchDummy"></div>' + '<div id="div_search">' + '<div id="div_imgSearchWrapper">' + '<img id="img_search" src="' + html_iconSearch + '">' + '</div>' + '<div id="div_intextWrapper">' + '<input id="intext" type="text"' + 'placeholder="' + str_placeholder + '">' + '</input>' + '</div>' + '</div>' ); } $(document).keypress(function(int_keycode) { if (int_keycode.which == 13 && $("#intext").is(':focus') && !bool_searchingTextbook) { if (kvp_query.str_query != $("#intext").val()) { bool_searchingTextbook = true; model_getTextbookResults($("#intext").val()); } else view_addTextbookResults(); } }); $("#div_imgSearchWrapper").click(function() { $("#intext").focus(); }); $("#div_searchDummy").css({ "height": int_iconFrameSize.toString() + "px" }); $("#div_search").css({ "background-color": kvp_colors.css_whiteBg, "border-bottom": "1px solid", "display": "flex", "flex-direction": "row", "position": "absolute", "top": "0", "width": "100%" }); $("#div_imgSearchWrapper").css({ "cursor": "pointer", "display": "flex", "flex-shrink": "0", "height": int_iconFrameSize.toString() + "px", "width": int_iconFrameSize.toString() + "px" }); $("#div_intextWrapper").css({ "padding-left": int_iconToTextPadding.toString() + "px", "width": "100%" }); $("#img_search").css({ "bottom": "0", "display": "flex", "margin": "auto", "height": int_iconSize.toString() + "px", "width": int_iconSize.toString() + "px", }); $("#intext").css({ "border-style": "none", "font-size": "1em", "height": "100%", "width": "100%" }); if (def(str_query)) $("#intext").val(str_query); } function view_clearTextbookResults() { $("#div_searchResultsWrapper").remove(); $("#div_searchMask").remove(); $("#div_noResults").remove(); $.each($(".div_textbook"), function(i, div_textbook) { $(div_textbook).remove(); }); $("body").css({ "overflow": "scroll", "overflow-x": "hidden" }); $("#img_search").attr("src", kvp_images.uri_search); $("#div_imgSearchWrapper").click(function() { $("#intext").focus(); }); } function view_addTextbookResults() { bool_searchingTextbook = false; view_clearTextbookResults(); { var str_noResultsSubtitle = ( "No results for \"" + kvp_query.str_query + "\"" ); } { $("body").append( '<div id="div_searchResultsWrapper"></div>' + '<div id="div_searchMask"></div>' ); } $("#div_searchResultsWrapper").css({ "height": "100%", "overflow-y": "scroll", "position": "absolute", "top": int_iconFrameSize.toString() + "px", "width": "100%", "z-index": 1 }); $("#div_searchMask").css({ "background-color": kvp_colors.css_black, "height": "100%", "opacity": "0." + int_searchMaskPercentOpacity.toString(), "position": "absolute", "top": int_iconFrameSize.toString() + "px", "width": "100%", "z-index": 0 }); $("#div_search").css({ "z-index": (kvp_query.textbooks.length + 3).toString() }); $("body").css({ "overflow": "hidden" }); $("#img_search").attr("src", kvp_images.uri_cross); $("#div_imgSearchWrapper").click(function() { view_clearTextbookResults(); }); $.each(kvp_query.textbooks, function(i, kvp_textbook) { var str_subtitle = ""; if (def(kvp_textbook.str_edition)) { str_subtitle += kvp_textbook.str_edition; } if (def(kvp_textbook.str_edition) && def(kvp_textbook.str_isbn)) { str_subtitle += ", "; } if (def(kvp_textbook.str_isbn)) { str_subtitle += "ISBN " + kvp_textbook.str_isbn; } { $("#div_searchResultsWrapper").append( '<div class="div_textbook">' + '<div class="div_imgBookThumb"></div>' + '<div class="div_textbookDetailWrapper">' + '<p class="p_textbookTitle">' + kvp_textbook.str_name + '</p>' + '<p class="p_textbookSubtitle">' + str_subtitle + '</p>' + '</div>' + '</div>' ); } $(".div_textbook").eq(i).click(function() { model_getTextbookContents(i); }); view_formatGrayBgOnHover($(".div_textbook").eq(i)); $(".div_textbook").eq(i).css({ "background-color": kvp_colors.css_whiteBg, "border-bottom": "1px solid " + kvp_colors.css_grayLine, "cursor": "pointer", "display": "flex", "width": "100%" }); $(".div_imgBookThumb").eq(i).css({ "background-image": 'url("' + kvp_textbook.url_thumbnail + '")', "height": int_iconFrameSize.toString() + "px", "width": int_iconFrameSize.toString() + "px" }); $(".div_textbookDetailWrapper").eq(i).css({ "display": "flex", "flex-direction": "column", "justify-content": "center", "padding-left": int_iconToTextPadding.toString() + "px" }); view_formatTextLarge($(".p_textbookTitle").eq(i)); view_formatTextSmall($(".p_textbookSubtitle").eq(i)); }); if (kvp_query.textbooks.length == 0) { { $("#div_searchResultsWrapper").append( '<div id="div_noResults">' + '<div id="div_noResultsDetailWrapper">' + '<p id="p_noResultsSubtitle">' + str_noResultsSubtitle + '</p>' + '</div>' + '</div>' ); } $("#div_noResults").css({ "background-color": kvp_colors.css_whiteBg, "border-bottom": "1px solid " + kvp_colors.css_grayLine, "display": "flex", "width": "100%" }); $("#div_noResultsDetailWrapper").css({ "display": "flex", "flex-direction": "column", "height": int_iconFrameSize.toString() + "px", "justify-content": "center", "padding-left": int_leftPadding.toString() + "px" }); view_formatTextLarge($("#p_noResultsTitle")); view_formatTextSmall($("#p_noResultsSubtitle")); } } function view_pageTextbookContents() { view_clearTextbookResults(); view_addTextbookSearch(); document.title = kvp_textbook.str_name; var str_subtitle = ""; if (def(kvp_textbook.str_edition)) { str_subtitle += kvp_textbook.str_edition; } if (def(kvp_textbook.str_edition) && def(kvp_textbook.str_isbn)) { str_subtitle += ", "; } if (def(kvp_textbook.str_isbn)) { str_subtitle += "ISBN " + kvp_textbook.str_isbn; } { $("body").append( '<div id="div_selectedBookBar">' + '<div id="div_imgSelectedBookThumb"></div>' + '<div id="div_selectedBookDetailWrapper">' + '<p id="p_selectedBookTitle">' + kvp_textbook.str_name + '</p>' + '<p id="p_selectedBookSubtitle">' + str_subtitle + '</p>' + '</div>' + '</div>' ); } $("#div_selectedBookBar").css({ "background-color": kvp_colors.css_blueBg, "display": "flex" }); $("#div_imgSelectedBookThumb").css({ "background-image": ( 'url("' + kvp_textbook.url_thumbnail + '")' ), "height": int_iconFrameSize.toString() + "px", "width": int_iconFrameSize.toString() + "px" }); $("#div_selectedBookDetailWrapper").css({ "display": "flex", "flex-direction": "column", "justify-content": "center", "padding-left": int_iconToTextPadding.toString() + "px" }); view_formatTextLarge($("#p_selectedBookTitle")); view_formatTextSmall($("#p_selectedBookSubtitle")); $.each(kvp_textbook.chapters, function(i, kvp_chapter) { { $("body").append( '<div class="div_chapter">' + '<p class="p_chapterName">' + kvp_chapter.str_name + '</p>' + '</div>' ); } $(".div_chapter").eq(i).css({ "border-bottom": "1px solid " + kvp_colors.css_grayLine, "padding-bottom": "5px", "padding-top": "5px" }); $(".p_chapterName").eq(i).css({ "padding-bottom": "5px", "padding-top": "5px", "padding-left": int_leftPadding.toString() + "px" }); view_formatTextSmall($(".p_chapterName").eq(i), true); $.each(kvp_chapter.sections, function(j, kvp_section) { var div_section = document.createElement("div"); { div_section.className = "div_section"; } div_section.onclick = function() { if (kvp_textbook.chapters[i] .sections[j].questions.length == 0) { model_getQuestionsInSection(i, j); } else { view_addQuestionPageHeader(); view_addUnaddedQuestions(); } }; { div_section.innerHTML += ( '<p class="p_sectionNumber">' + kvp_section.str_number + '</p>' + '<p class="p_sectionName">' + kvp_section.str_name + '</p>' ); } var jdiv_chapter = $(".div_chapter").eq(i); jdiv_chapter.append(div_section); jdiv_chapter.find(".div_section").eq(j).css({ "cursor": "pointer", "display": "flex", "padding-bottom": "5px", "padding-top": "5px", "padding-left": int_leftPadding.toString() + "px", "width": "100%" }); jdiv_chapter.find(".p_sectionNumber").eq(j).css({ "padding-right": "10px" }); view_formatGrayBgOnHover(jdiv_chapter.find(".div_section").eq(j)); view_formatTextLarge(jdiv_chapter.find(".p_sectionNumber").eq(j)); view_formatTextSmall(jdiv_chapter.find(".p_sectionName").eq(j)); if (!def($(".div_chapter").eq(i) .find(".p_sectionNumber").eq(j).text())) { $(".div_chapter").eq(i).find(".p_sectionNumber").eq(j) .text((i + 1).toString() + ".*"); } }); }); } function view_addQuestionPageHeader() { view_addTextbookSearch(); var str_number = ""; if (def(kvp_textbook.chapters[int_chapter].sections[int_section] .str_number)) { str_number = ( kvp_textbook.chapters[int_chapter].sections[int_section] .str_number ); } else str_number = (int_chapter + 1).toString() + ".*"; { view_addBackHeader( str_number, kvp_textbook.chapters[int_chapter] .sections[int_section].str_name, function() { bool_displayQuestions = false; view_pageTextbookContents(); } ); } { document.title = ("Section " + kvp_textbook.chapters[int_chapter] .sections[int_section].str_number ); } bool_displayQuestions = true; } function view_addUnaddedQuestions() { { var kvps_questions = ( kvp_textbook.chapters[int_chapter] .sections[int_section].questions ); } for (var i = $(".div_question").length; i < kvps_questions.length; i++) { if (!bool_displayQuestions) return; var kvp_question = kvps_questions[i]; var div_question = document.createElement("div"); div_question.className = "div_question"; div_question.id = i; div_question.onclick = function() { if (bool_viewingSolution) return; bool_viewingSolution = true; bool_displayQuestions = false; if (kvp_textbook .chapters[int_chapter] .sections[int_section] .questions[parseInt(this.id)] .solutions.length > 0) { int_question = parseInt(this.id); view_pageSolutions(); } else model_getSolutions(this.id); } { div_question.innerHTML += ( '<p class="p_number">' + kvp_question.str_number + '</p>' ); } if (def(kvp_question.int_page)) { { $("body").append( '<div id=div_page' + kvp_question.int_page + '>' + '<p class="p_page">Page ' + kvp_question.int_page + '</p>' + '</div>' ); } { view_formatTextSmall( $("#div_page" + kvp_question.int_page) .find("p").eq(0) , true); } $("#div_page" + kvp_question.int_page).find("p").eq(0).css({ "padding-top": "10px", "padding-bottom": "5px", "padding-left": int_leftPadding.toString() + "px" }); if ($("body").find(".div_question").length > 1) { $("#div_page" + kvp_question.int_page).css({ "border-top": "1px solid " + kvp_colors.css_grayLine, "margin-top": "5px" }); } } document.body.appendChild(div_question); { div_question.innerHTML += ( (def(kvp_question.str_answer)) ? '<p>' + kvp_question.str_answer + '</p>' : '<img src=' + kvp_question.url_imgAnswer + '>' ); } view_formatTextLarge($("#" + i).find(".p_number").eq(0)); view_formatBlueBgOnHover($("#" + i)); $("#" + i).css({ "cursor": "pointer", "display": "flex", "flex-direction": "row", "padding-bottom": "10px", "padding-top": "10px", "padding-left": int_leftPadding.toString() + "px" }); $("#" + i).find("p").eq(0).css({ "padding-right": "10px" }); $("#" + i).find("img").eq(0).css({ "padding-top": "4px" }); } } function view_pageSolutions() { view_addTextbookSearch(); var str_number = ""; if (def(kvp_textbook.chapters[int_chapter].sections[int_section] .str_number)) { str_number = ( kvp_textbook.chapters[int_chapter].sections[int_section] .str_number ); } else str_number = (int_chapter + 1).toString() + ".*"; { view_addBackHeader( kvp_textbook.chapters[int_chapter] .sections[int_section].questions[int_question].str_number, 'Section ' + str_number, function() { bool_viewingSolution = false; view_addQuestionPageHeader(); view_addUnaddedQuestions(); } ); } { document.title = ( "Section " + kvp_textbook.chapters[int_chapter] .sections[int_section].str_number + " Question " + kvp_textbook.chapters[int_chapter] .sections[int_section].questions[int_question].str_number ); } { var kvps_solutions = ( kvp_textbook.chapters[int_chapter] .sections[int_section].questions[int_question].solutions ); } $.each(kvps_solutions, function(i, kvp_solution) { $("body").append('<div class="div_solution"></div>'); var jdiv_solution = $(".div_solution").eq(i); { jdiv_solution.append( '<p class="p_answerer">Solution by "' + kvp_solution.str_answerer + '"</p>' ); } { view_formatTextSmall( jdiv_solution.find(".p_answerer").eq(0) , true); } jdiv_solution.find(".p_answerer").eq(0).css({ "padding-top": "5px", "padding-bottom": "5px", "padding-left": int_leftPadding.toString() + "px" }); $.each(kvp_solution.steps, function(j, kvp_step) { { jdiv_solution.append( '<div class="div_step">' + '<p class="p_stepNumber">' + (j + 1).toString() + '</p>' + '<div class="div_stepContent"></div>' + '</div>' ); } jdiv_solution.find(".div_step").eq(j).css({ "display": "flex", "flex-direction": "row", "padding-top": "5px", "padding-bottom": "5px", "padding-left": "55px", "width": "100%" }); jdiv_solution.find(".p_stepNumber").eq(j).css({ "padding-right": "20px" }); view_formatTextLarge(jdiv_solution.find(".p_stepNumber").eq(j)); view_formatGrayBgOnHover(jdiv_solution.find(".div_step").eq(j)); var jdiv_step = jdiv_solution.find(".div_stepContent").eq(j); if (def(kvp_step.str_explain) || def(kvp_step.url_imgExplain)) { { jdiv_solution.find(".div_stepContent").eq(j).append( '<div class="div_work"></div>' + '<div class="div_explain"></div>' ); } { jdiv_solution.find(".div_stepContent").eq(j).css({ "display": "flex", "flex-direction": "row" }); } { jdiv_solution.find(".div_work").eq(j).css({ "padding-right": "20px" }); } jdiv_step = jdiv_solution.find(".div_work").eq(j); jdiv_solution.find(".div_explain").eq(j).css({ "max-width": ( ( $(window).width() - int_iconFrameSize - int_iconToTextPadding - jdiv_solution.find(".p_stepNumber") .eq(j).width() ) / 2 ).toString() + "px" }); if (def(kvp_step.str_explain)) { jdiv_solution.find(".div_explain").eq(j).append(kvp_step.str_explain); } else { jdiv_solution.find(".div_explain").eq(j).append( "<img src=" + kvp_step.url_imgExplain + ">" ); jdiv_solution.find(".div_explain").eq(j).find("img").eq(0).css({ "padding-top": "4px" }); } } jdiv_step.find("img").eq(0).css({ "max-width": ( ( $(window).width() - int_iconFrameSize - int_iconToTextPadding - jdiv_solution.find(".p_stepNumber") .eq(j).width() ) / 2 ).toString() + "px" }); if (def(kvp_step.str_work)) { jdiv_step.append(kvp_step.str_work); } else { jdiv_step.append( "<img src=" + kvp_step.url_imgWork + ">" ); jdiv_step.find("img").eq(0).css({ "padding-top": "4px" }); } }); { $(".div_solution").eq(i).append( '<div class="div_answer">' + '<p class="p_answerNumber">*</p>' + '<div class="div_answerContent"></div>' + '</div>' ); } if (i != 0) { $(".div_solution").eq(i).css({ "border-top": "1px solid " + kvp_colors.css_grayLine }); } $(".div_solution").eq(i).css({ "padding-bottom": "5px", "padding-top": "5px" }); $(".div_answer").eq(i).css({ "display": "flex", "flex-direction": "row", "padding-top": "5px", "padding-bottom": "5px", "padding-left": int_leftPadding.toString() + "px" }); $(".p_answerNumber").eq(i).css({ "padding-right": "20px" }); view_formatTextLarge($(".p_answerNumber").eq(i)); view_formatGrayBgOnHover($(".div_answer").eq(i)); if (def(kvp_solution.str_answer)) { $(".div_answerContent").eq(i).append(kvp_solution.str_answer); } else { $(".div_answerContent").eq(i).append( '<img src="' + kvp_solution.url_imgAnswer + '">' ); } }); } function main() { { $("head").html("<style>\ * {\ margin: 0px;\ padding: 0px;\ font-family: Helvetica, Opens Sans, Sans-Serif;\ }\ </style>"); } $("body").css({ "overflow-x": "hidden" }); document.title = "Slader Infinite"; clearBody(); view_addTextbookSearch(); $("#intext").focus(); } main(); } function main() { window.stop(); $("html").html("<head></head><body></body>"); var obj_sladerCrawler = new class_sladerClient(); } console.log("Compiled"); main();