Greasy Fork is available in English.

博客整治

帮助你获得一致的博客阅读体验

اعتبارا من 01-12-2021. شاهد أحدث إصدار.

  1. // ==UserScript==
  2. // @name 博客整治
  3. // @version 0.0.1
  4. // @description 帮助你获得一致的博客阅读体验
  5. // @author gausszhou@qq.com
  6. // @namespace gausszhou
  7. // @icon https://gausszhou.top/graph/favicon.ico
  8. // @grant none
  9. // @run-at document-start
  10. // @require https://cdn.bootcdn.net/ajax/libs/jquery/1.10.0/jquery.min.js
  11. // @require https://cdn.jsdelivr.net/npm/clipboard@2.0.6/dist/clipboard.min.js
  12. // @include *://blog.csdn.net/*
  13. // @include *://www.cnblogs.com/*
  14. // @include *://juejin.cn/*
  15. // @license MIT
  16. // ==/UserScript==
  17.  
  18. /******/ (() => { // webpackBootstrap
  19. /******/ "use strict";
  20. /******/ var __webpack_modules__ = ({
  21.  
  22. /***/ 265:
  23. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  24.  
  25. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  26. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  27. /* harmony export */ });
  28. /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(601);
  29. /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
  30. /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(609);
  31. /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
  32. // Imports
  33.  
  34.  
  35. var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
  36. // Module
  37. ___CSS_LOADER_EXPORT___.push([module.id, "body{display:none}.csdn ul.csdn-toolbar-fl,.csdn .toolbar-container-right,.csdn .blog-footer-bottom{display:none !important}.csdn.menu .csdn-side-toolbar,.csdn.menu .user-spm-list,.csdn.menu .user-influence-list,.csdn.menu .user-achievement,.csdn.menu #asideProfile{display:none !important}.csdn.menu .user-profile-head-banner{height:20px !important}.csdn.article #asideProfile,.csdn.article #asideCategory,.csdn.article #asideNewComments,.csdn.article #asideNewNps,.csdn.article #asideArchive,.csdn.article #asideHotArticle,.csdn.article #asideSearchArticle,.csdn.article #asideCustom,.csdn.article .recommend-box{display:none !important}.csdn #csdn-toolbar{position:fixed !important;z-index:9999;top:0 !important;width:100%}.csdn blockquote{margin:0.5em !important;padding:1em !important;border-left:5px solid #005282 !important;background-color:#f4f4f4 !important;color:#1b1b1b !important}.csdn.menu .user-profile-head{margin-top:3.5em}.csdn.article #asidedirectory{position:fixed !important;top:4.5em !important}.csdn.article .blog-content-box{margin-top:4em}.csdn.article .template-box{margin-bottom:1em}.cnblog{min-width:768px}.cnblog #rss{display:none !important}.cnblog #container{min-width:0 !important}.cnblog #lnkBlogTitle,.cnblog #cb_post_title_url{font-size:32px}.cnblog #content{margin:0 auto !important;max-width:740px}.cnblog #sidebar{display:none !important}\n", ""]);
  38. // Exports
  39. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
  40.  
  41.  
  42. /***/ }),
  43.  
  44. /***/ 609:
  45. /***/ ((module) => {
  46.  
  47.  
  48.  
  49. /*
  50. MIT License http://www.opensource.org/licenses/mit-license.php
  51. Author Tobias Koppers @sokra
  52. */
  53. module.exports = function (cssWithMappingToString) {
  54. var list = []; // return the list of modules as css string
  55.  
  56. list.toString = function toString() {
  57. return this.map(function (item) {
  58. var content = "";
  59. var needLayer = typeof item[5] !== "undefined";
  60.  
  61. if (item[4]) {
  62. content += "@supports (".concat(item[4], ") {");
  63. }
  64.  
  65. if (item[2]) {
  66. content += "@media ".concat(item[2], " {");
  67. }
  68.  
  69. if (needLayer) {
  70. content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {");
  71. }
  72.  
  73. content += cssWithMappingToString(item);
  74.  
  75. if (needLayer) {
  76. content += "}";
  77. }
  78.  
  79. if (item[2]) {
  80. content += "}";
  81. }
  82.  
  83. if (item[4]) {
  84. content += "}";
  85. }
  86.  
  87. return content;
  88. }).join("");
  89. }; // import a list of modules into the list
  90.  
  91.  
  92. list.i = function i(modules, media, dedupe, supports, layer) {
  93. if (typeof modules === "string") {
  94. modules = [[null, modules, undefined]];
  95. }
  96.  
  97. var alreadyImportedModules = {};
  98.  
  99. if (dedupe) {
  100. for (var k = 0; k < this.length; k++) {
  101. var id = this[k][0];
  102.  
  103. if (id != null) {
  104. alreadyImportedModules[id] = true;
  105. }
  106. }
  107. }
  108.  
  109. for (var _k = 0; _k < modules.length; _k++) {
  110. var item = [].concat(modules[_k]);
  111.  
  112. if (dedupe && alreadyImportedModules[item[0]]) {
  113. continue;
  114. }
  115.  
  116. if (typeof layer !== "undefined") {
  117. if (typeof item[5] === "undefined") {
  118. item[5] = layer;
  119. } else {
  120. item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}");
  121. item[5] = layer;
  122. }
  123. }
  124.  
  125. if (media) {
  126. if (!item[2]) {
  127. item[2] = media;
  128. } else {
  129. item[1] = "@media ".concat(item[2], " {").concat(item[1], "}");
  130. item[2] = media;
  131. }
  132. }
  133.  
  134. if (supports) {
  135. if (!item[4]) {
  136. item[4] = "".concat(supports);
  137. } else {
  138. item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}");
  139. item[4] = supports;
  140. }
  141. }
  142.  
  143. list.push(item);
  144. }
  145. };
  146.  
  147. return list;
  148. };
  149.  
  150. /***/ }),
  151.  
  152. /***/ 601:
  153. /***/ ((module) => {
  154.  
  155.  
  156.  
  157. module.exports = function (i) {
  158. return i[1];
  159. };
  160.  
  161. /***/ }),
  162.  
  163. /***/ 62:
  164. /***/ ((module) => {
  165.  
  166.  
  167.  
  168. var stylesInDOM = [];
  169.  
  170. function getIndexByIdentifier(identifier) {
  171. var result = -1;
  172.  
  173. for (var i = 0; i < stylesInDOM.length; i++) {
  174. if (stylesInDOM[i].identifier === identifier) {
  175. result = i;
  176. break;
  177. }
  178. }
  179.  
  180. return result;
  181. }
  182.  
  183. function modulesToDom(list, options) {
  184. var idCountMap = {};
  185. var identifiers = [];
  186.  
  187. for (var i = 0; i < list.length; i++) {
  188. var item = list[i];
  189. var id = options.base ? item[0] + options.base : item[0];
  190. var count = idCountMap[id] || 0;
  191. var identifier = "".concat(id, " ").concat(count);
  192. idCountMap[id] = count + 1;
  193. var indexByIdentifier = getIndexByIdentifier(identifier);
  194. var obj = {
  195. css: item[1],
  196. media: item[2],
  197. sourceMap: item[3],
  198. supports: item[4],
  199. layer: item[5]
  200. };
  201.  
  202. if (indexByIdentifier !== -1) {
  203. stylesInDOM[indexByIdentifier].references++;
  204. stylesInDOM[indexByIdentifier].updater(obj);
  205. } else {
  206. var updater = addElementStyle(obj, options);
  207. options.byIndex = i;
  208. stylesInDOM.splice(i, 0, {
  209. identifier: identifier,
  210. updater: updater,
  211. references: 1
  212. });
  213. }
  214.  
  215. identifiers.push(identifier);
  216. }
  217.  
  218. return identifiers;
  219. }
  220.  
  221. function addElementStyle(obj, options) {
  222. var api = options.domAPI(options);
  223. api.update(obj);
  224.  
  225. var updater = function updater(newObj) {
  226. if (newObj) {
  227. if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {
  228. return;
  229. }
  230.  
  231. api.update(obj = newObj);
  232. } else {
  233. api.remove();
  234. }
  235. };
  236.  
  237. return updater;
  238. }
  239.  
  240. module.exports = function (list, options) {
  241. options = options || {};
  242. list = list || [];
  243. var lastIdentifiers = modulesToDom(list, options);
  244. return function update(newList) {
  245. newList = newList || [];
  246.  
  247. for (var i = 0; i < lastIdentifiers.length; i++) {
  248. var identifier = lastIdentifiers[i];
  249. var index = getIndexByIdentifier(identifier);
  250. stylesInDOM[index].references--;
  251. }
  252.  
  253. var newLastIdentifiers = modulesToDom(newList, options);
  254.  
  255. for (var _i = 0; _i < lastIdentifiers.length; _i++) {
  256. var _identifier = lastIdentifiers[_i];
  257.  
  258. var _index = getIndexByIdentifier(_identifier);
  259.  
  260. if (stylesInDOM[_index].references === 0) {
  261. stylesInDOM[_index].updater();
  262.  
  263. stylesInDOM.splice(_index, 1);
  264. }
  265. }
  266.  
  267. lastIdentifiers = newLastIdentifiers;
  268. };
  269. };
  270.  
  271. /***/ }),
  272.  
  273. /***/ 793:
  274. /***/ ((module) => {
  275.  
  276.  
  277.  
  278. var memo = {};
  279. /* istanbul ignore next */
  280.  
  281. function getTarget(target) {
  282. if (typeof memo[target] === "undefined") {
  283. var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself
  284.  
  285. if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
  286. try {
  287. // This will throw an exception if access to iframe is blocked
  288. // due to cross-origin restrictions
  289. styleTarget = styleTarget.contentDocument.head;
  290. } catch (e) {
  291. // istanbul ignore next
  292. styleTarget = null;
  293. }
  294. }
  295.  
  296. memo[target] = styleTarget;
  297. }
  298.  
  299. return memo[target];
  300. }
  301. /* istanbul ignore next */
  302.  
  303.  
  304. function insertBySelector(insert, style) {
  305. var target = getTarget(insert);
  306.  
  307. if (!target) {
  308. throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
  309. }
  310.  
  311. target.appendChild(style);
  312. }
  313.  
  314. module.exports = insertBySelector;
  315.  
  316. /***/ }),
  317.  
  318. /***/ 173:
  319. /***/ ((module) => {
  320.  
  321.  
  322.  
  323. /* istanbul ignore next */
  324. function insertStyleElement(options) {
  325. var element = document.createElement("style");
  326. options.setAttributes(element, options.attributes);
  327. options.insert(element, options.options);
  328. return element;
  329. }
  330.  
  331. module.exports = insertStyleElement;
  332.  
  333. /***/ }),
  334.  
  335. /***/ 892:
  336. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  337.  
  338.  
  339.  
  340. /* istanbul ignore next */
  341. function setAttributesWithoutAttributes(styleElement) {
  342. var nonce = true ? __webpack_require__.nc : 0;
  343.  
  344. if (nonce) {
  345. styleElement.setAttribute("nonce", nonce);
  346. }
  347. }
  348.  
  349. module.exports = setAttributesWithoutAttributes;
  350.  
  351. /***/ }),
  352.  
  353. /***/ 36:
  354. /***/ ((module) => {
  355.  
  356.  
  357.  
  358. /* istanbul ignore next */
  359. function apply(styleElement, options, obj) {
  360. var css = "";
  361.  
  362. if (obj.supports) {
  363. css += "@supports (".concat(obj.supports, ") {");
  364. }
  365.  
  366. if (obj.media) {
  367. css += "@media ".concat(obj.media, " {");
  368. }
  369.  
  370. var needLayer = typeof obj.layer !== "undefined";
  371.  
  372. if (needLayer) {
  373. css += "@layer".concat(obj.layer.length > 0 ? " ".concat(obj.layer) : "", " {");
  374. }
  375.  
  376. css += obj.css;
  377.  
  378. if (needLayer) {
  379. css += "}";
  380. }
  381.  
  382. if (obj.media) {
  383. css += "}";
  384. }
  385.  
  386. if (obj.supports) {
  387. css += "}";
  388. }
  389.  
  390. var sourceMap = obj.sourceMap;
  391.  
  392. if (sourceMap && typeof btoa !== "undefined") {
  393. css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
  394. } // For old IE
  395.  
  396. /* istanbul ignore if */
  397.  
  398.  
  399. options.styleTagTransform(css, styleElement, options.options);
  400. }
  401.  
  402. function removeStyleElement(styleElement) {
  403. // istanbul ignore if
  404. if (styleElement.parentNode === null) {
  405. return false;
  406. }
  407.  
  408. styleElement.parentNode.removeChild(styleElement);
  409. }
  410. /* istanbul ignore next */
  411.  
  412.  
  413. function domAPI(options) {
  414. var styleElement = options.insertStyleElement(options);
  415. return {
  416. update: function update(obj) {
  417. apply(styleElement, options, obj);
  418. },
  419. remove: function remove() {
  420. removeStyleElement(styleElement);
  421. }
  422. };
  423. }
  424.  
  425. module.exports = domAPI;
  426.  
  427. /***/ }),
  428.  
  429. /***/ 464:
  430. /***/ ((module) => {
  431.  
  432.  
  433.  
  434. /* istanbul ignore next */
  435. function styleTagTransform(css, styleElement) {
  436. if (styleElement.styleSheet) {
  437. styleElement.styleSheet.cssText = css;
  438. } else {
  439. while (styleElement.firstChild) {
  440. styleElement.removeChild(styleElement.firstChild);
  441. }
  442.  
  443. styleElement.appendChild(document.createTextNode(css));
  444. }
  445. }
  446.  
  447. module.exports = styleTagTransform;
  448.  
  449. /***/ })
  450.  
  451. /******/ });
  452. /************************************************************************/
  453. /******/ // The module cache
  454. /******/ var __webpack_module_cache__ = {};
  455. /******/
  456. /******/ // The require function
  457. /******/ function __webpack_require__(moduleId) {
  458. /******/ // Check if module is in cache
  459. /******/ var cachedModule = __webpack_module_cache__[moduleId];
  460. /******/ if (cachedModule !== undefined) {
  461. /******/ return cachedModule.exports;
  462. /******/ }
  463. /******/ // Create a new module (and put it into the cache)
  464. /******/ var module = __webpack_module_cache__[moduleId] = {
  465. /******/ id: moduleId,
  466. /******/ // no module.loaded needed
  467. /******/ exports: {}
  468. /******/ };
  469. /******/
  470. /******/ // Execute the module function
  471. /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
  472. /******/
  473. /******/ // Return the exports of the module
  474. /******/ return module.exports;
  475. /******/ }
  476. /******/
  477. /************************************************************************/
  478. /******/ /* webpack/runtime/compat get default export */
  479. /******/ (() => {
  480. /******/ // getDefaultExport function for compatibility with non-harmony modules
  481. /******/ __webpack_require__.n = (module) => {
  482. /******/ var getter = module && module.__esModule ?
  483. /******/ () => (module['default']) :
  484. /******/ () => (module);
  485. /******/ __webpack_require__.d(getter, { a: getter });
  486. /******/ return getter;
  487. /******/ };
  488. /******/ })();
  489. /******/
  490. /******/ /* webpack/runtime/define property getters */
  491. /******/ (() => {
  492. /******/ // define getter functions for harmony exports
  493. /******/ __webpack_require__.d = (exports, definition) => {
  494. /******/ for(var key in definition) {
  495. /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
  496. /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
  497. /******/ }
  498. /******/ }
  499. /******/ };
  500. /******/ })();
  501. /******/
  502. /******/ /* webpack/runtime/hasOwnProperty shorthand */
  503. /******/ (() => {
  504. /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
  505. /******/ })();
  506. /******/
  507. /************************************************************************/
  508. var __webpack_exports__ = {};
  509. // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
  510. (() => {
  511.  
  512. // EXTERNAL MODULE: ../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js
  513. var injectStylesIntoStyleTag = __webpack_require__(62);
  514. var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag);
  515. // EXTERNAL MODULE: ../../node_modules/style-loader/dist/runtime/styleDomAPI.js
  516. var styleDomAPI = __webpack_require__(36);
  517. var styleDomAPI_default = /*#__PURE__*/__webpack_require__.n(styleDomAPI);
  518. // EXTERNAL MODULE: ../../node_modules/style-loader/dist/runtime/insertBySelector.js
  519. var insertBySelector = __webpack_require__(793);
  520. var insertBySelector_default = /*#__PURE__*/__webpack_require__.n(insertBySelector);
  521. // EXTERNAL MODULE: ../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js
  522. var setAttributesWithoutAttributes = __webpack_require__(892);
  523. var setAttributesWithoutAttributes_default = /*#__PURE__*/__webpack_require__.n(setAttributesWithoutAttributes);
  524. // EXTERNAL MODULE: ../../node_modules/style-loader/dist/runtime/insertStyleElement.js
  525. var insertStyleElement = __webpack_require__(173);
  526. var insertStyleElement_default = /*#__PURE__*/__webpack_require__.n(insertStyleElement);
  527. // EXTERNAL MODULE: ../../node_modules/style-loader/dist/runtime/styleTagTransform.js
  528. var styleTagTransform = __webpack_require__(464);
  529. var styleTagTransform_default = /*#__PURE__*/__webpack_require__.n(styleTagTransform);
  530. // EXTERNAL MODULE: ../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./src/assets/styles/index.scss
  531. var styles = __webpack_require__(265);
  532. ;// CONCATENATED MODULE: ./src/assets/styles/index.scss
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544. var options = {};
  545.  
  546. options.styleTagTransform = (styleTagTransform_default());
  547. options.setAttributes = (setAttributesWithoutAttributes_default());
  548.  
  549. options.insert = insertBySelector_default().bind(null, "head");
  550.  
  551. options.domAPI = (styleDomAPI_default());
  552. options.insertStyleElement = (insertStyleElement_default());
  553.  
  554. var update = injectStylesIntoStyleTag_default()(styles/* default */.Z, options);
  555.  
  556.  
  557.  
  558.  
  559. /* harmony default export */ const assets_styles = (styles/* default */.Z && styles/* default.locals */.Z.locals ? styles/* default.locals */.Z.locals : undefined);
  560.  
  561. ;// CONCATENATED MODULE: ./src/components/ui.js
  562. let dq = document.querySelector.bind(document);
  563.  
  564. function UI() {
  565. this.init();
  566. }
  567.  
  568. UI.prototype.init = function () {
  569. console.log("欢迎使用博客整治插件");
  570. };
  571.  
  572. UI.prototype.mounted = function () {
  573. this.body = document.body;
  574. };
  575.  
  576. UI.prototype.processRemoveAD = function () {
  577. if (this.ads && this.ads.length) {
  578. console.log(this.ads.length);
  579. this.ads.forEach((selector) => {
  580. let ad = dq(selector);
  581. console.log(ad);
  582. if (ad) ad.parentElement.removeChild(ad);
  583. });
  584. }
  585. };
  586.  
  587. UI.prototype.process = function () {
  588. this.processRemoveAD();
  589. this.mode = "home";
  590. if (this.blog_content) {
  591. this.mode = "article";
  592. } else {
  593. this.mode = "menu";
  594. }
  595. this.body.classList.add(this.mode);
  596. };
  597.  
  598. UI.prototype.csdn = function () {
  599. this.body.classList.add("csdn");
  600. this.blog_content = dq(".blog-content-box");
  601. this.ads = [".csdn-side-toolbar", "#asideHotArticle", "#asideArchive"];
  602. if (this.blog_content) {
  603. this.content = dq("#article_content");
  604. this.content.classList.add("markdown-body");
  605. }
  606. this.process();
  607. this.processCSDN();
  608. };
  609.  
  610. UI.prototype.cnblog = function () {
  611. this.body.classList.add("cnblog");
  612. this.blog_content = dq(".post_detail");
  613. if (this.blog_content) {
  614. this.content = dq(".post_detail");
  615. this.content.classList.add("markdown-body");
  616. }
  617. this.ads = [];
  618. this.process();
  619. this.processCNBlog();
  620. };
  621.  
  622. UI.prototype.processCNBlog = function () {};
  623.  
  624. UI.prototype.processCSDN = function () {
  625. window.onload = function () {
  626. // 去除剪贴板劫持
  627. csdn.copyright.textData = "";
  628. try {
  629. Object.defineProperty(window, "articleType", {
  630. value: 0,
  631. writable: false,
  632. configurable: false
  633. });
  634. $("#csdn-toolbar").css("border-bottom", "2px solid #409eff");
  635. } catch (err) {}
  636. // 修复无法复制
  637. $("pre").css("user-select", "auto");
  638. $("code").css("user-select", "auto");
  639. $("blockquote").css("user-select", "auto");
  640. // 免登录复制
  641. $(".hljs-button").removeClass("signin");
  642. $(".hljs-button").addClass("copy-button");
  643. $(".hljs-button").attr("onclick", "hljs.copyCode(event)");
  644. $(".hljs-button").attr("data-title", "免登录复制");
  645. setInterval(() => {
  646. $(".hljs-button").attr("data-title", "免登录复制");
  647. $(".passport-login-container").remove()
  648. }, 1000 / 60);
  649. };
  650. };
  651.  
  652. /* harmony default export */ const ui = (UI);
  653.  
  654. ;// CONCATENATED MODULE: ./src/main.js
  655.  
  656.  
  657.  
  658. let main_ui = new ui();
  659. (function () {
  660. window.addEventListener("DOMContentLoaded", function () {
  661. main_ui.mounted();
  662. let hostname = location.hostname;
  663. switch (hostname) {
  664. case "blog.csdn.net":
  665. main_ui.csdn();
  666. break;
  667. case "www.cnblogs.com":
  668. main_ui.cnblog();
  669. break;
  670. default:
  671. main_ui.csdn();
  672. break;
  673. }
  674. document.body.style.display = "block";
  675. });
  676. })();
  677.  
  678. })();
  679.  
  680. /******/ })()
  681. ;