fe-helper.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /**
  2. * 注册命名空间
  3. */
  4. baidu.namespace.register("baidu.fehelper");
  5. /**
  6. * 编码规范检测、栅格检测的入口
  7. * @author 赵先烈
  8. */
  9. baidu.fehelper = (function(){
  10. /**
  11. * 动态加载插件相关的css,防止平时对页面的影响
  12. * @private
  13. */
  14. var _loadCss = function(){
  15. if(!jQuery('#_fehelper_jq_ui_css_')[0]) {
  16. var jqUiCss = chrome.extension.getURL('static/vendor/jquery-ui-1.8/css/jquery-ui-1.8.16.custom.hot_datauri.css');
  17. jQuery('<link id="_fehelper_jq_ui_css_" href="' + jqUiCss + '" rel="stylesheet" type="text/css" />').appendTo('head');
  18. var fcpCss = chrome.extension.getURL('static/css/fe-helper.css');
  19. jQuery('<link id="_fehelper_fcp_css_" href="' + fcpCss + '" rel="stylesheet" type="text/css" />').appendTo('head');
  20. }
  21. };
  22. /**
  23. * 执行FCPHelper检测
  24. */
  25. var _doFcpDetect = function(){
  26. //////////先做一些准备工作/////////////////////
  27. baidu.fcphelper.initStaticFile();
  28. chrome.extension.onMessage.addListener(function(request,sender,callback){
  29. //browserAction被点击
  30. if(request.type == MSG_TYPE.BROWSER_CLICKED && request.event == MSG_TYPE.FCP_HELPER_DETECT) {
  31. //加载css
  32. _loadCss();
  33. //html
  34. baidu.fcphelper.initHtml(function(){
  35. //fcp相关检测
  36. baidu.fcphelper.detect();
  37. });
  38. }
  39. });
  40. };
  41. /**
  42. * 执行栅格检测:在页面上显示栅格
  43. */
  44. var _doGridDetect = function(){
  45. chrome.extension.onMessage.addListener(function(request,sender,callback){
  46. //browserAction被点击
  47. if(request.type == MSG_TYPE.BROWSER_CLICKED && request.event == MSG_TYPE.GRID_DETECT) {
  48. //加载css
  49. _loadCss();
  50. //栅格检测
  51. baidu.grid.detect();
  52. }
  53. });
  54. };
  55. /**
  56. * 函数主入口,主要是处理和browserAction之间的message交互
  57. */
  58. var _main = function(){
  59. //执行FCPHelper检测
  60. _doFcpDetect();
  61. //执行栅格检测
  62. _doGridDetect();
  63. };
  64. return {
  65. main : _main
  66. };
  67. })();
  68. //执行主方法
  69. baidu.fehelper.main();