ソースを参照

解决地址栏的一些问题

gitname 8 年 前
コミット
be326aee7d

+ 28 - 0
resources/app/blank.html

@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Title</title>
+</head>
+<style>
+    .main {
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        margin-top: 150px;
+    }
+</style>
+<body>
+<div class="main">
+    <div>
+        <h1>无法访问此网站</h1>
+        <p>请试试以下办法:</p>
+        <ul>
+            <li>检查网络连接</li>
+            <li>检查代理服务器和防火墙</li>
+            <li>运行 Windows 网络诊断</li>
+        </ul>
+    </div>
+</div>
+</body>
+</html>

+ 61 - 52
resources/app/browser.html

@@ -6,63 +6,72 @@
     <link rel="stylesheet" href="./public/css/browser.css">
 </head>
 <body>
-    <section style="-webkit-app-region: no-drag" class="bowerTop"></section>
-    <section style="-webkit-app-region: drag" class="bowerHeader">
-        <ul class="bowerCreaterWindow" style="-webkit-app-region: drag;padding:15px 0 0">
-            <button class="BrowwerAdd"></button>
-        </ul>
-        <section style="-webkit-app-region: no-drag" class="browerHeaderControl clearfix">
-            <button type="button" class="icon-window-minimize"></button>
-            <button type="button" class="icon-window-maximize"></button>
-            <button type="button" class="icon-times close" style="font-size:16px"></button>
-        </section>
+<section style="-webkit-app-region: no-drag" class="bowerTop"></section>
+<section style="-webkit-app-region: drag" class="bowerHeader">
+    <ul class="bowerCreaterWindow" style="-webkit-app-region: drag;padding:15px 0 0">
+        <button class="BrowwerAdd"></button>
+    </ul>
+    <section style="-webkit-app-region: no-drag" class="browerHeaderControl clearfix">
+        <button type="button" class="icon-window-minimize"></button>
+        <button type="button" class="icon-window-maximize"></button>
+        <button type="button" class="icon-times close" style="font-size:16px"></button>
     </section>
-    <div class="BrowerHead">
-        <button class="icon-left"></button>
-        <button class="icon-right"></button>
-        <button class="icon-cw"></button>
-        <div  class="BrowerUrlArea">
-          <span class="icon-lock"></span>
-          <input type="text" placeholder="在此输入网址或关键词" id="search">
-        </div>
-        <button class="icon-ellipsis-vert"></button>
-        <ul class="MouseMenuMain" id="CampusInfoBrowserOnclickMenu" style="right: 1px;top:81px">
-            <li onclick="US_Browser.CreatBrower('')">打开一个新的标签页<span>Ctrl+T</span></li>
-            <li onclick="US_Browser.CreatBrowerWindow('')">打开新的窗口<span>Ctrl+N</span></li>
-            <li style="display: none">打开一个新的窗口</li>
-            <li class="MouseMenuMainStep"></li>
-            <li onclick="US_Browser.ShowHistory()">历史记录<span>Ctrl+H</span></li>
-            <li onclick="US_Browser.ClearCache()">清除缓存<span>Ctrl+Shift+Del</span></li>
-            <li onclick="US_Browser.Print();">打印<span>Ctrl+P</span></li>
-            <li onclick="US_Browser.Find();">查找<span>Ctrl+F</span></li>
-            <li onclick="US_Browser.DevTools();">开发人员工具<span>F12/Ctrl+Shift+I</span></li>
-            <li class="MouseMenuMainStep"></li>
-            <li onclick="US_Browser.CampusInfo()">校园资讯<span>Alt+Shift+S</span></li>
-            <li onclick="US_Browser.Feedback()">问题反馈<span>Alt+Shift+I</span></li>
-            <li onclick="US_Browser.about()">关于我们<span>F1</span></li>
-            <li class="MouseMenuMainStep"></li>
-            <li onclick="US_Browser.Exit()">退出<span>Ctrl+Shift+Q</span></li>
-        </ul>
+</section>
+<div class="BrowerHead">
+    <button class="icon-left"></button>
+    <button class="icon-right"></button>
+    <button class="icon-cw"></button>
+    <div class="BrowerUrlArea">
+        <span class="icon-lock"></span>
+        <input type="text" placeholder="在此输入网址或关键词" id="search">
     </div>
-    <ul class="MouseMenuMain" id="webviewBrowserMenu">
-        <li class="US_OpenLinkInNew"  style="display: none">在新标签页中打开链接</li>
-        <li class='US_OpenImgInNew' style="display: none">在新标签页中打开图片</li>
-        <li class="US_Browers_Back"  onclick="US_Browser.goBack();">返回<span>Alt+左箭头</span></li>
-        <li class="US_Browers_go" onclick="US_Browser.goForward();">前进<span>Alt+右箭头</span></li>
-        <li onclick="US_Browser.reFresh();">重新加载<span>Ctrl+R</span></li>
+    <button class="icon-ellipsis-vert"></button>
+    <ul class="MouseMenuMain" id="CampusInfoBrowserOnclickMenu" style="right: 1px;top:81px">
+        <li onclick="US_Browser.CreatBrower('')">打开一个新的标签页<span>Ctrl+T</span></li>
+        <li onclick="US_Browser.CreatBrowerWindow('')">打开新的窗口<span>Ctrl+N</span></li>
+        <li style="display: none">打开一个新的窗口</li>
+        <li class="MouseMenuMainStep"></li>
+        <li onclick="US_Browser.ShowHistory()">历史记录<span>Ctrl+H</span></li>
+        <li onclick="US_Browser.ClearCache()">清除缓存<span>Ctrl+Shift+Del</span></li>
         <li onclick="US_Browser.Print();">打印<span>Ctrl+P</span></li>
+        <li onclick="US_Browser.Find();">查找<span>Ctrl+F</span></li>
+        <li onclick="US_Browser.DevTools();">开发人员工具<span>F12/Ctrl+Shift+I</span></li>
         <li class="MouseMenuMainStep"></li>
-        <li onclick="US_Browser.SourceCode();">查看网页源代码<span>Ctrl+U</span></li>
-        <li onclick="US_Browser.DevTools();">检查<span>F12/Ctrl+Shift+I</span></li>
+        <li onclick="US_Browser.CampusInfo()">校园资讯<span>Alt+Shift+S</span></li>
+        <li onclick="US_Browser.Feedback()">问题反馈<span>Alt+Shift+I</span></li>
+        <li onclick="US_Browser.about()">关于我们<span>F1</span></li>
+        <li class="MouseMenuMainStep"></li>
+        <li onclick="US_Browser.Exit()">退出<span>Ctrl+Shift+Q</span></li>
     </ul>
-    <div class="BrowerFind">
-        <input type="text" placeholder="搜索网页内容">
-        <span>0/0</span>
-        <button class="icon-angle-up" style="cursor: no-drop"></button>
-        <button class="icon-angle-down"></button>
-        <button class="icon-times"></button>
-    </div>
-    <p class="BrowerTips"></p>
+    <button class="icon-ellipsis-vert" id="MouseMenuMainerBtn"></button>
+    <ul class="MouseMenuMainer" style="right: 1px;top:81px;display: none">
+        <li>www.baidu.com</li>
+        <li class="MouseMenuMainStep"></li>
+        <li>www.jd.com</li>
+        <li class="MouseMenuMainStep"></li>
+        <li>www.taobao.com</li>
+        <li class="MouseMenuMainStep"></li>
+    </ul>
+</div>
+<ul class="MouseMenuMain" id="webviewBrowserMenu">
+    <li class="US_OpenLinkInNew"  style="display: none">在新标签页中打开链接</li>
+    <li class='US_OpenImgInNew' style="display: none">在新标签页中打开图片</li>
+    <li class="US_Browers_Back"  onclick="US_Browser.goBack();">返回<span>Alt+左箭头</span></li>
+    <li class="US_Browers_go" onclick="US_Browser.goForward();">前进<span>Alt+右箭头</span></li>
+    <li onclick="US_Browser.reFresh();">重新加载<span>Ctrl+R</span></li>
+    <li onclick="US_Browser.Print();">打印<span>Ctrl+P</span></li>
+    <li class="MouseMenuMainStep"></li>
+    <li onclick="US_Browser.SourceCode();">查看网页源代码<span>Ctrl+U</span></li>
+    <li onclick="US_Browser.DevTools();">检查<span>F12/Ctrl+Shift+I</span></li>
+</ul>
+<div class="BrowerFind">
+    <input type="text" placeholder="搜索网页内容">
+    <span>0/0</span>
+    <button class="icon-angle-up" style="cursor: no-drop"></button>
+    <button class="icon-angle-down"></button>
+    <button class="icon-times"></button>
+</div>
+<p class="BrowerTips"></p>
 </body>
 <script src="./public/js/uform.js"></script>
 <script src="./public/js/browser.js"></script>

+ 38 - 1
resources/app/public/css/browser.css

@@ -22,7 +22,7 @@ ul,li{
     padding: 0;
     list-style: none;
 }
-button:focus,button{    
+button:focus,button{
     outline: none;
     cursor: pointer;
 }
@@ -355,6 +355,43 @@ button.BrowwerAdd {
     color:#000;
     cursor:pointer;
 }
+
+.MouseMenuMainer{
+    position:absolute;
+    z-index:22;
+    width:auto;
+    height:auto;
+    min-width:90pt;
+    background:#fff;
+    box-shadow: 0 3px 3px 0 rgba(0,0,0,0.14), 0 1px 7px 0 rgba(0,0,0,0.12), 0 3px 1px -1px rgba(0,0,0,0.2);
+    -moz-user-select:none;
+    -webkit-user-select:none;
+    -ms-user-select:none;
+    -khtml-user-select:none;
+    user-select:none;
+}
+.MouseMenuMainer li{
+    width: auto;
+    max-width: 400px;
+    font-size: 13px;
+    padding: 6px 18px;
+    color: #333;
+    text-align: left;
+    white-space: nowrap;
+    margin-bottom: 2px;
+}
+.MouseMenuMainer li span{
+    float: right;
+    margin-left: 40px;
+    color: #bfbfbf;
+}
+.MouseMenuMainer li:hover{
+    background-color:#eee;
+    color:#000;
+    cursor:pointer;
+}
+
+
 .MouseMenuMainStep{
     width: 100%;
     padding: 0 !important;

+ 21 - 3
resources/app/public/js/browser.js

@@ -96,6 +96,7 @@ US_Browser.CreatBrower=function (address,flag) {//创建窗口,url,是否为
         US_Browser.CheckState(this);
         this.focus();
         this.getWebContents().focus();
+        US_Browser.isready = true
     });
     webview.addEventListener('did-get-response-details',function (e) {
         US_Browser.LoadTips.innerHTML='正在请求:'+e.originalURL;
@@ -128,6 +129,9 @@ US_Browser.CreatBrower=function (address,flag) {//创建窗口,url,是否为
             };
         }
     });
+    webview.addEventListener('did-fail-load',function (e) {
+        US_Browser.SelecteWebview.src = './blank.html'
+    });
     /*webview.addEventListener('did-fail-load',function (e) {
         if(webview.state) {
             let msg = e.errorDescription;
@@ -200,6 +204,7 @@ US_Browser.CreatBrower=function (address,flag) {//创建窗口,url,是否为
 US_Browser.MouseMenu=function (menu_main,data,e,flag) {//右键菜单事件
     let createNode=document.body;//获取第一和参数父元素
     let MouseMenuMain=$('.MouseMenuMain');//获取右键菜单事件的ul元素
+    $('.MouseMenuMainer')[0].style.display='none';
     for(let i=0;i<MouseMenuMain.length;i++){//隐藏右键菜单事件所有
         MouseMenuMain[i].style.display='none';
     }
@@ -446,9 +451,9 @@ US_Browser.Find=function(){
     }
 };//开启关闭查找函数;
 US_Browser.SaveAs=function(){
-  US_Browser.SelecteWebview.getWebContents().savePage(US_Browser.Head[5].value,'HTMLComplete',function () {
+    US_Browser.SelecteWebview.getWebContents().savePage(US_Browser.Head[5].value,'HTMLComplete',function () {
 
-  })
+    })
 };//另存为喊
 US_Browser.HeadBind=function(){
     let http = /^(http)/;
@@ -505,12 +510,15 @@ US_Browser.HeadBind=function(){
     US_Browser.Head[5].tabIndex=-1;
     US_Browser.Head[5].onkeydown=function (e) {//获取搜索框值
         if(e.keyCode===13){//keycode为13
+            let secondary = /([a-z0-9--]{1,200})\.([a-z]{2,10})(\.[a-z]{2,10})?/
             if(this.value.length){//如果存在值
                 if(this.value.match(http) || this.value.match(https)){//判断是否存在http或https
                     US_Browser.SelecteWebview.src=this.value;//给webview的src传值
                 }else if(this.value.match(www)||this.value.match(m)){
                     US_Browser.SelecteWebview.src='http://'+this.value;//给webview的src传值
-                }else {
+                }else if (secondary.test(this.value)) {
+                    US_Browser.SelecteWebview.src = 'http://' + this.value
+                } else {
                     US_Browser.SelecteWebview.src='https://www.baidu.com/s?cl=3&wd='+this.value;//给webview的src传值
                 }
                 US_Browser.SelecteWebview.tag.getElementsByTagName('img')[0].style.display = "block";//标签页图标显示
@@ -534,6 +542,14 @@ US_Browser.HeadBind=function(){
         US_Browser.Head[5].focus();
         US_Browser.RightMenu.style.display='none';
     };
+    US_Browser.RightMenubtn.onclick = function () {
+        let MouseMenuMainer  = $('.MouseMenuMainer')[0]
+        if (MouseMenuMainer.style.display === "none") {
+            MouseMenuMainer.style.display = "block"
+            return
+        }
+        MouseMenuMainer.style.display = "none"
+    }
     window.addEventListener('dragleave',function (e) {
         e.preventDefault();
         return false;
@@ -628,9 +644,11 @@ US_Browser.HeadBind=function(){
     US_Browser.MenuGo.style.color='#adadad';
 };//浏览器头部事件绑定
 US_Browser.Init=function () {//初始化
+    US_Browser.isready = false
     US_Browser.NavContainer=$(".bowerCreaterWindow")[0];//获取标签页ul
     US_Browser.MouseMenuMain=$("#webviewBrowserMenu")[0];//获取网页右键菜单
     US_Browser.RightMenu=$("#CampusInfoBrowserOnclickMenu")[0];//获取浏览器菜单
+    US_Browser.RightMenubtn=$("#MouseMenuMainerBtn")[0];//获取浏览器菜单
     US_Browser.LoadTips=$(".BrowerTips")[0];
     US_Browser.FindContainer=$(".BrowerFind")[0];//查找菜单主题
     US_Browser.Elm=$(".BrowerFind *");//查找菜单的子级