history.html 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>历史记录</title>
  6. <link rel="stylesheet" href="./public/css/browser.css">
  7. </head>
  8. <body style="overflow: hidden">
  9. <section style="-webkit-app-region: drag;height: 55px" class="bowerHeader">
  10. <section style="-webkit-app-region: no-drag" class="browerHeaderControl clearfix">
  11. <button type="button" class="icon-times close" style="font-size:16px;background: none;color: #fff"></button>
  12. </section>
  13. <div class="HistoryMain">
  14. <div class="HistoryHead">
  15. <p>历史记录</p>
  16. <div class="HistorySelect">
  17. <div>
  18. <input type="text" id="SelectInp" placeholder="搜索历史记录" style="-webkit-app-region: no-drag" value="">
  19. </div>
  20. </div>
  21. </div>
  22. <div class="HistoryContainer">
  23. </div>
  24. <div class="Historyoperating">
  25. <ul>
  26. <li onclick="xianshi()" style="border-bottom: 2px solid #dadada">显示历史记录</li>
  27. <li onclick="HistoryCancelAll()" id="qingchu">
  28. 清除历史记录
  29. <div class="item" onclick="HistoryCancelDone()">确定</div>
  30. <div class="item">取消</div>
  31. </li>
  32. <li onclick="HistorySelect()">搜索</li>
  33. </ul>
  34. </div>
  35. </div>
  36. <div class="CampusInfoBrowserHistory"></div>
  37. <div class="HistoryBottom">
  38. <div class="HistoryBottomContent">
  39. <div class="Historycount">已选择<span class="HistoryCountSpan">1</span>项</div>
  40. <div class="HistoryPick">
  41. <div style="margin-right: 20px;" onclick="HistoryCancel()">取消</div>
  42. <div onclick="HistoryDelect()">删除</div>
  43. </div>
  44. </div>
  45. </div>
  46. </section>
  47. <script src="./public/js/uform.js"></script>
  48. <script>
  49. var ipc=require('electron').ipcRenderer;
  50. $(".close")[0].onclick=function(){
  51. ipc.send('BrowserHistory-close');
  52. };
  53. addChild = function(parent,newChild){
  54. if(parent.firstChild){
  55. parent.insertBefore(newChild,parent.firstChild);
  56. } else {
  57. parent.addChild(newChild);
  58. }
  59. return parent;
  60. }
  61. const choose = () => {
  62. let numb = document.querySelectorAll("input[type='checkbox']:checked").length
  63. if (numb === 0) {
  64. $('.HistoryBottom')[0].style.bottom = '-55px';
  65. }else{
  66. $('.HistoryBottom')[0].style.bottom = '-0px';
  67. $('.HistoryCountSpan')[0].innerText = numb
  68. }
  69. }
  70. const HistoryCancel = () => {
  71. let numb = document.querySelectorAll("input[type='checkbox']:checked")
  72. if (numb.length) {
  73. for(var i=0; i < numb.length; i++){
  74. numb[i].checked = false;
  75. }
  76. $('.HistoryBottom')[0].style.bottom = '-55px';
  77. $('.HistoryCountSpan')[0].innerText = '0'
  78. }
  79. }
  80. const HistoryDelect = () => {
  81. let isclick = document.querySelectorAll("input[type='checkbox']:checked")
  82. for(let i = 0; i < isclick.length; i ++){
  83. console.log(isclick[i])
  84. Historyshanchu(isclick[i].parentNode.parentNode.parentNode.childNodes[0].innerHTML, isclick[i].value, isclick[i].parentNode)
  85. }
  86. }
  87. const Historyshanchu = (par, item, my) => {
  88. let arr = JSON.parse(localStorage[par])
  89. arr.splice(~~item, 1)
  90. localStorage[par] = JSON.stringify(arr)
  91. my.style.display = 'none'
  92. $('.HistoryBottom')[0].style.bottom = '-55px';
  93. $('.HistoryCountSpan')[0].innerText = '0'
  94. }
  95. const HistoryCancelAll = () => {
  96. [...document.querySelectorAll('.item')].map((i)=>{
  97. if(i.style.opacity === '0'){
  98. i.style.opacity = '1'
  99. }else{
  100. i.style.opacity = '0'
  101. }
  102. })
  103. }
  104. const HistorySelect = () => {
  105. let selectdata = document.querySelectorAll('#SelectInp')[0]
  106. let arr = []
  107. for (date in localStorage) {
  108. let data = JSON.parse(localStorage[date])
  109. for(let i = 0; i < data.length; i ++){
  110. if(data[i].title.indexOf(selectdata.value) >= 0 || data[i].url.indexOf(selectdata.value) >= 0){
  111. arr.push(data[i])
  112. }
  113. }
  114. }
  115. xuanrang(arr)
  116. }
  117. let BrowserHistory = $(".HistoryContainer")[0];
  118. const xuanrang = (arr) => {
  119. BrowserHistory.innerHTML = ''
  120. let a = $$("div",{"className":"HistoryCard"},BrowserHistory);
  121. var a_head=$$("p",{"className":"HistoryCardHead","innerText":'搜索历史记录'},a);
  122. var a_container=$$("ul",{"className":"HistoryCardContainer"},a);
  123. // addChild(BrowserHistory,a);
  124. for(let i=0;i<arr.length;i++){
  125. let a_list=$$("li",{},a_container);
  126. let a_time=$$("span",{"innerText":arr[i].time},a_list);
  127. let a_content=$$("div",{},a_list);
  128. $$("img",{"src":arr[i].favicons,"draggable":"false"},a_content);
  129. $$("p",{"innerText":arr[i].title},a_content);
  130. $$("p",{"innerText":arr[i].url}, a_content)
  131. a_content.url=arr[i].url;
  132. a_content.onclick=function () {
  133. ipc.send('open-history',this.url);
  134. ipc.send('BrowserHistory-close');
  135. }
  136. }
  137. }
  138. const xianshi = () => {
  139. // BrowserHistory.innerHTML = ''
  140. for (date in localStorage) {
  141. var a = $$("div",{"className":"HistoryCard"});
  142. addChild(BrowserHistory,a);
  143. var a_head=$$("p",{"className":"HistoryCardHead","innerText":date},a);
  144. var a_container=$$("ul",{"className":"HistoryCardContainer"},a);
  145. var data = JSON.parse(localStorage[date]);
  146. for(var i=0;i<data.length;i++){
  147. var a_list=$$("li",{},a_container);
  148. $$("input",{"type":"checkbox","className":"Historyinput",'value': i,'onclick':function () {
  149. choose()
  150. }},a_list)
  151. var a_time=$$("span",{"innerText":data[i].time},a_list);
  152. var a_content=$$("div",{},a_list);
  153. $$("img",{"src":data[i].favicons,"draggable":"false"},a_content);
  154. $$("p",{"innerText":data[i].title},a_content);
  155. $$("p",{"innerText":data[i].url}, a_content)
  156. a_content.url=data[i].url;
  157. a_content.onclick=function () {
  158. ipc.send('open-history',this.url);
  159. ipc.send('BrowserHistory-close');
  160. }
  161. }
  162. }
  163. }
  164. const HistoryCancelDone = () => {
  165. // localStorage = ''
  166. }
  167. window.onload = () => {
  168. xianshi()
  169. }
  170. </script>
  171. </body>
  172. </html>