main.js 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. var bg;
  2. $(function(){
  3. $('.loading').addClass('on');
  4. chrome.runtime.getBackgroundPage(function(background){
  5. bg = background;
  6. if(bg.wordDataArr.length) bg.wordDataArr.forEach( function(word) {
  7. $('.total .list ul').append('<li data-word="'+word+'">'+word+'<div class="btn"><a class="info" title="查看详情"><i class="fa fa-comment-o"></i></a><a class="del" title="移出词库"><i class="fa fa-trash-o"></i></a><a class="star" title="加入收藏"><i class="fa fa-star-o"></i></a></div></li>')
  8. });
  9. $('.tabs a:eq(0) span').text('('+bg.wordDataArr.length+')');
  10. $('.loading').removeClass('on');
  11. });
  12. $('.tabContent .list').on('click','li a.info',function(){
  13. var word = $(this).parents('li').data('word');
  14. var oldWindow = chrome.app.window.get('popup');
  15. if(oldWindow){
  16. createPopup(oldWindow,word);
  17. }else{
  18. chrome.app.window.create('windows/popup.html', {
  19. id:'popup',
  20. resizable:false,
  21. alwaysOnTop:true,
  22. hidden:true,
  23. frame:{type:'none'}
  24. },function(popup){
  25. createPopup(popup,word);
  26. });
  27. }
  28. });
  29. $('.tabContent .search').on('keyup',function(){
  30. var word = $(this).val();
  31. $(this).parent().find('.list li').hide().filter(":contains('"+word+"')").show();
  32. });
  33. $('.tabs a').click(function(){
  34. $(this).addClass('on').siblings().removeClass('on');
  35. $('.tabContent').removeClass('on').eq($(this).index()).addClass('on');
  36. });
  37. $("#clickme").click(function (source) {
  38. $("#my_file").trigger('click');
  39. })
  40. $("#my_file").on('change',function(){
  41. var wordsObj = {};
  42. var wordsArr = [];
  43. var file = $('#my_file')[0].files[0];
  44. var reader = new FileReader();
  45. reader.readAsText(file, "utf-8");
  46. reader.onload = function (e) {
  47. wordsArr = e.target.result.split("\n");
  48. if(wordsArr.length>0){
  49. wordsArr.forEach(function(word) {
  50. wordsObj[word] = {testCount:0}
  51. });
  52. }
  53. chrome.storage.local.set({wordsArr:wordsArr,wordsObj:wordsObj},function(e){
  54. bg.wordDataArr = wordsArr;
  55. bg.wordDataObj = wordsObj;
  56. console.log('导入完成',e)
  57. })
  58. }
  59. })
  60. });
  61. function createPopup(popup,word){
  62. var popWidth = 300,popHeight = 400;
  63. bg.currentWord = word;
  64. chrome.system.display.getInfo(function(display){
  65. var displayOpt = display[0].workArea;
  66. popup.outerBounds.left = displayOpt.width - popWidth - 20;
  67. popup.outerBounds.top = 20 + displayOpt.top;
  68. // popup.innerBounds = {width:popWidth,height:popHeight};
  69. popup.show();
  70. chrome.runtime.sendMessage('updateInfo');
  71. popup.onClosed.addListener(function(){
  72. chrome.storage.local.set({wordsObj:bg.wordDataObj,wordOpt:bg.wordOpt});
  73. });
  74. });
  75. }