瀏覽代碼

1.添加标签页右键菜单以及拖动功能(有bug) 2.修复新建标签页打开开发者工具问题

ZY 7 年之前
父節點
當前提交
861f729274
共有 4 個文件被更改,包括 656 次插入267 次删除
  1. 7 0
      resources/app/browser.html
  2. 12 0
      resources/app/new.html
  3. 576 260
      resources/app/public/css/browser.css
  4. 61 7
      resources/app/public/js/browser.js

+ 7 - 0
resources/app/browser.html

@@ -58,6 +58,13 @@
 
     </ul>
 
+    <!-- 标签页右键菜单 -->
+    <ul id="US_TagSet" class="US_TagSet MouseMenuMain">
+        <li id="OpenTags" onclick="US_Browser.CreatBrower('')">打开新的标签页</li>
+        <li id="OpenTagser" onclick="US_Browser.reFresh();">重新加载</li>
+        <li id="DelectTags">关闭标签页</li>
+    </ul>
+
     <ul id="US_BookmarkSet" class="US_BookmarkSet MouseMenuMain">
         <li id="OpenBookmark">在新的标签页打开</li>
         <li id="OpenBookmarker">在新窗口打开</li>

+ 12 - 0
resources/app/new.html

@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <title>新建标签页</title>
+</head>
+
+<body>
+</body>
+
+</html>

文件差異過大導致無法顯示
+ 576 - 260
resources/app/public/css/browser.css


+ 61 - 7
resources/app/public/js/browser.js

@@ -12,7 +12,7 @@ US_Browser.CreatBrower=function (address,flag) {//创建窗口,url,是否为
     let www=/^(www)/;
     let m=/^(m)/;
     let li=$$("li", {//创建ul下的li
-        "className": "BrowerList"
+        "className": "BrowerList","draggable":"true"
     }, US_Browser.NavContainer);
     let ListBody=$$("div", {//创建li下的div
         "className": "BrowerListBody","ripple":""
@@ -29,14 +29,14 @@ US_Browser.CreatBrower=function (address,flag) {//创建窗口,url,是否为
         "favicons":'public/img/tray/logo.png'
     };
     ListBody.tag_favicon=$$("img", {//标签页图标
-        "className": "tag_favicon", "draggable":"false", "alt":""
+        "className": "tag_favicon", "alt":""
     }, ListBody);
     ListBody.tag_favicon.style.display=(address&&address!==null)?"block":"none";
     ListBody.tag_favicon.onerror=function () {//不存在时显示的标签页图标
         this.src='public/img/tray/logo.png';
     };
     ListBody.Webname=$$("p", {//标签页标题
-        "className": "Webname","innerHTML":address?"正在加载":"新建标签","draggable":"false"
+        "className": "Webname","innerHTML":address?"正在加载":"新建标签",
     }, ListBody);
     ListBody.tag_close=$$("i", {//标题页关闭按钮
         "className":"icon-cancel tag_close"
@@ -187,6 +187,11 @@ US_Browser.CreatBrower=function (address,flag) {//创建窗口,url,是否为
         US_Browser.NavContainer.removeChild(webview.tag);//移除当前li
         document.body.removeChild(BrowerContainer);//移除当前webview
     };
+    // 标签页右键‘关闭标签’
+    $("#DelectTags")[0].onclick = function () {
+        ListBody.tag_close.onclick();
+        US_Browser.MouseMenu($("#US_TagSet")[0],this,event);
+    }
     webview.src=address;//给webview的src传值
     US_Browser.Bind();
     ListBody.click();//点击li下的包裹节点
@@ -205,12 +210,12 @@ US_Browser.CreatBrower=function (address,flag) {//创建窗口,url,是否为
         }
         webview.tag.getElementsByTagName('img')[0].style.display = "block";//标签页图标显示
     }
+    US_Browser.BrowerList.drag();
 };//创建一个新的浏览器选项卡
 US_Browser.MouseMenu=function (menu_main,data,e,flag) {//右键菜单事件
     let createNode=document.body;//获取第一和参数父元素
     let MouseMenuMain=$('.MouseMenuMain');//获取右键菜单事件的ul元素
     US_Browser.MouseMenuMainer.style.display='none';
-    $('#US_BookmarkSet')[0].style.display = 'none'
     for(let i=0;i<MouseMenuMain.length;i++){//隐藏右键菜单事件所有
         MouseMenuMain[i].style.display='none';
     }
@@ -317,7 +322,6 @@ US_Browser.SourceCode = function () {//查看源代码
 };
 US_Browser.Exit=function(){
     BrowersWindow.close();
-    // ipc.send('window-all-closed');
 };
 US_Browser.goBack = function(){//执行后退
     US_Browser.SelecteWebview.goBack();
@@ -480,7 +484,6 @@ US_Browser.HeadBind=function(){
     };
     US_Browser.ControlButton[1].onclick=function(){//最大化
         if(isBig){
-            ipc.send('show-window');
             BrowersWindow.maximize();
             this.className='icon-window-restore';
             US_Browser.NavContainer.style.padding = "5px 0 0";
@@ -554,7 +557,7 @@ US_Browser.HeadBind=function(){
             alert("窗口太多,请关闭一些再使用");//弹出提示
             return false;
         }
-        US_Browser.CreatBrower(null);
+        US_Browser.CreatBrower('./new.html');
         US_Browser.Head[5].focus();
         US_Browser.RightMenu.style.display='none';
         US_Browser.MouseMenuMainer.style.display='none';
@@ -824,6 +827,55 @@ US_Browser.HeadBind=function(){
         ipc.send('openlove', US_Browser.DelectBookmarktar.getAttribute('data'))
         $('#US_BookmarkSet')[0].style.display = 'none';
     }
+    // 标签页拖动、右键单击事件
+    US_Browser.BrowerList.drag = function () {
+        US_Browser.tags = document.querySelectorAll('.bowerCreaterWindow .BrowerList');
+        US_Browser.tagEL = null;    
+        [].forEach.call(US_Browser.tags,function(BrowerList){
+            // 用户开始拖动元素或文本选择时会触发该事件
+            BrowerList.addEventListener('dragstart',US_Browser.tagdragstart,false)
+            // 当拖动的元素或文本选择进入有效的放置目标时,将触发该事件
+            BrowerList.addEventListener('dragenter',US_Browser.tagdragenter,false)
+            // 当在有效放置目标上拖动元素或文本选择时(每几百毫秒),将触发该事件。
+            // 该事件在放置目标上触发。
+            BrowerList.addEventListener('dragover',US_Browser.tagdragover,false)
+            // 当拖动的元素或文本选择留下有效的放置目标时,将触发该事件
+            BrowerList.addEventListener('dragleave',US_Browser.tagdragleave,false)
+            // 在有效放置目标上删除元素或文本选择时会触发该事件
+            BrowerList.addEventListener('drop',US_Browser.tagdrop,false)
+            // 当拖动操作结束时(通过释放鼠标按钮或按下转义键)将触发该事件
+            BrowerList.addEventListener('dragend',US_Browser.tagdragend,false)
+            // 标签页右键单击事件
+            BrowerList.addEventListener('mousedown',US_Browser.tagmousedown,false)
+        })
+    }
+    US_Browser.tagdragstart = function(e) {
+        tagEL = e.target;
+    }
+    US_Browser.tagdragenter = function(e) {
+        
+    }
+    US_Browser.tagdragover = function(e) {
+        // 防止默认行为
+        e.preventDefault();
+        e.dataTransfer.dropEffect = 'move';
+    }
+    US_Browser.tagdragleave = function(e) {
+        
+    }
+    US_Browser.tagdrop = function(e) {
+        e.preventDefault();
+        if (tagEL != this) {
+            US_Browser.NavContainer.insertBefore(tagEL,this);
+        }
+    }
+    US_Browser.tagdragend = function(e) {
+        [].forEach.call(US_Browser.tags,function(BrowerList){});
+    }
+    US_Browser.tagmousedown = function(e) {
+        let TagSet = document.getElementById("US_TagSet");
+        US_Browser.MouseMenu(TagSet,this,event);
+    }
     US_Browser.Head[0].style.color = '#d3d3d3';
     US_Browser.Head[1].style.color = '#d3d3d3';
     US_Browser.Head[2].style.color = '#d3d3d3';
@@ -834,6 +886,7 @@ US_Browser.Init=function () {//初始化
     US_Browser.isready = false
     US_Browser.Love = window.localStorage.getItem('arr')
     US_Browser.NavContainer=$(".bowerCreaterWindow")[0];//获取标签页ul
+    US_Browser.BrowerList = $(".BrowerList");// 获取标签页li
     US_Browser.MouseMenuMain=$("#webviewBrowserMenu")[0];//获取网页右键菜单
     US_Browser.RightMenu=$("#CampusInfoBrowserOnclickMenu")[0];//获取浏览器菜单
     US_Browser.RightMenubtn=$("#MouseMenuMainerBtn")[0];//获取浏览器菜单
@@ -868,4 +921,5 @@ US_Browser.Init=function () {//初始化
 }();
 window.onload = function () {
     US_Browser.drag();
+    US_Browser.BrowerList.drag();
 }