Browse Source

加大浏览器内核内存

master
С·æ 4 years ago
parent
commit
b248600fda
  1. 30
      客户端/齐越慧眼/齐越慧眼/App.xaml.cs
  2. 4
      客户端/齐越慧眼/齐越慧眼/LoginWindowViewModel.cs
  3. 8
      客户端/齐越慧眼/齐越慧眼/Properties/launchSettings.json
  4. 63
      客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs
  5. 25
      客户端/齐越慧眼/齐越慧眼/cefhelper/CefRequestHandler.cs

30
客户端/齐越慧眼/齐越慧眼/App.xaml.cs

@ -4,6 +4,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Configuration; using System.Configuration;
using System.Data; using System.Data;
using System.IO;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -19,17 +20,26 @@ namespace 齐越慧眼
{ {
public App() { public App() {
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
var settings = new CefSettings() { var settings = new CefSettings()
// CachePath = System.Environment.CurrentDirectory + "\\webDatas\\data", {
// LocalesDirPath = System.Environment.CurrentDirectory + "\\webDatas", UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.1.110 Safari/537.36 SE 2.X MetaSr 1.0",
// RootCachePath= System.Environment.CurrentDirectory + "\\rootCache", Locale = "zh-CN",
UserAgent= "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0", AcceptLanguageList= "zh-CN,zh;q=0.8",
Locale= "zh-CN", PersistSessionCookies=true,
// AutoDetectProxySettings = false, CachePath = Directory.GetCurrentDirectory() + @"\Cache",
// PackLoadingDisabled = true, //LocalesDirPath = Directory.GetCurrentDirectory() + "/localeDir",
// LogSeverity = LogSeverity.Disable LogFile = Directory.GetCurrentDirectory() + "/LogData",
UserDataPath = Directory.GetCurrentDirectory() + "/userData"
}; };
// ... settings.CefCommandLineArgs.Add("--js-flags", "--max_old_space_size=16384");
settings.CefCommandLineArgs.Add("enable-media-stream", "0");
settings.CefCommandLineArgs.Add("--ignore-urlfetcher-cert-requests", "1");
settings.CefCommandLineArgs.Add("--ignore-certificate-errors", "1");
settings.CefCommandLineArgs.Add("disable-gpu", "0");
settings.CefCommandLineArgs.Add("no-proxy-server", "1");
//settings.CefCommandLineArgs.Add("ppapi-flash-path", AppDomain.CurrentDomain.BaseDirectory + "\\Plugins\\pepflash\\pepflashplayer.dll");
settings.RegisterScheme(new CefCustomScheme() settings.RegisterScheme(new CefCustomScheme()
{ {

4
客户端/齐越慧眼/齐越慧眼/LoginWindowViewModel.cs

@ -25,7 +25,7 @@ namespace 齐越慧眼
} }
private string _UserName; private string _UserName="测试001";
/// <summary> /// <summary>
/// 用戶名 /// 用戶名
/// </summary> /// </summary>
@ -36,7 +36,7 @@ namespace 齐越慧眼
} }
private string _UserPwd; private string _UserPwd="666666";
/// <summary> /// <summary>
/// 用户密码 /// 用户密码
/// </summary> /// </summary>

8
客户端/齐越慧眼/齐越慧眼/Properties/launchSettings.json

@ -0,0 +1,8 @@
{
"profiles": {
"齐越慧眼": {
"commandName": "Project",
"nativeDebugging": true
}
}
}

63
客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs

@ -27,16 +27,20 @@ namespace 齐越慧眼.UserControls
BrowserSettings = BrowserSettings =
{ {
DefaultEncoding = "UTF-8", DefaultEncoding = "UTF-8",
// Plugins = CefState.Enabled, Plugins = CefState.Enabled,
//关于跨域限制 //关于跨域限制
//WebSecurity = CefState.Disabled, //WebSecurity = CefState.Disabled,
// ApplicationCache = CefState.Enabled, ApplicationCache = CefState.Enabled,
// LocalStorage = CefState.Enabled LocalStorage = CefState.Enabled
}, },
// RequestHandler = myRequest
//RequestHandler =new MyRequestHandler()
}; };
MyResourceRequestHandlerFactory myResourceRequestHandlerFactory = new MyResourceRequestHandlerFactory();
myResourceRequestHandlerFactory.Handlers.TryAdd("test",null);
web.ResourceRequestHandlerFactory = myResourceRequestHandlerFactory;
grid.Children.Add(web); grid.Children.Add(web);
@ -49,16 +53,29 @@ namespace 齐越慧眼.UserControls
} }
int nowPatlom = 0;
public void OnUrlEnd(string url) public void OnUrlEnd(string url)
{ {
if (url.Contains("s_new.php")) if (url.Contains("s_new.php"))
{ {
Task.Factory.StartNew(() => Task.Factory.StartNew(() =>
{ {
nowPatlom = 1;
lastUrl = "search.jd.com"; lastUrl = "search.jd.com";
DoWork(); DoWork();
}); });
} }
if (url.Contains("s.1688.com/selloffer/offer_search.htm"))
{
Task.Factory.StartNew(() =>
{
nowPatlom = 2;
lastUrl = "s.1688.com";
StartPage();
});
}
} }
private void Web_StartNewWindow(object sender, NewWindowEventArgs e) private void Web_StartNewWindow(object sender, NewWindowEventArgs e)
@ -102,9 +119,22 @@ namespace 齐越慧眼.UserControls
//开始单页查询 //开始单页查询
if (lastUrl.StartsWith("https://s.taobao.com/search")|| lastUrl.StartsWith("https://search.jd.com/")||lastUrl.StartsWith("https://s.1688.com/selloffer/offer_search.htm")) if (lastUrl.StartsWith("https://s.taobao.com/search")|| lastUrl.StartsWith("https://search.jd.com/")||lastUrl.StartsWith("https://s.1688.com/selloffer/offer_search.htm"))
{ {
if (lastUrl.StartsWith("https://s.taobao.com/search")) {
nowPatlom = 0;
}
if (lastUrl.StartsWith("https://search.jd.com/"))
{
nowPatlom =1;
}
if (lastUrl.StartsWith("https://s.1688.com/"))
{
nowPatlom = 2;
}
StartPage(); StartPage();
} }
// web.ShowDevTools();
} }
} }
@ -124,7 +154,7 @@ namespace 齐越慧眼.UserControls
AddJquery(); AddJquery();
} }
AddAjaxHook(); // AddAjaxHook();
DoWork(); DoWork();
} }
@ -158,26 +188,26 @@ namespace 齐越慧眼.UserControls
{ {
AddCss(); AddCss();
if (lastUrl.Contains("s.taobao.com")) if (nowPatlom==0)
{ {
AddTaoBaoOptionDiv(); AddTaoBaoOptionDiv();
CheckTaoBaoPageItem(); CheckTaoBaoPageItem();
} }
if (lastUrl.Contains("search.jd.com")) if (nowPatlom == 1)
{ {
AddJDOptionDiv(); AddJDOptionDiv();
CheckJDPageItem(); CheckJDPageItem();
} }
//if (lastUrl.Contains("s.1688.com")) if (nowPatlom == 2)
//{ {
// Add1688OptionDiv(); Add1688OptionDiv();
// Check1688PageItem(); Check1688PageItem();
// web.ShowDevTools(); web.ShowDevTools();
//} }
lastUrl = string.Empty; //lastUrl = string.Empty;
break; break;
} }
@ -410,7 +440,8 @@ namespace 齐越慧眼.UserControls
{ {
reports.ForEach(c => reports.ForEach(c =>
{ {
string objid = Regex.Match(c, "object_id@(.*?)^").Groups[1].Value; string objid = Regex.Match(c, "object_id\\@(.*?)\\^").Groups[1].Value;
DoJavaScript(@$"$(""ul#sm-offer-list"").find('div[data-aplus-report=""{c}""]').attr(""data-sku"",""{objid}"")");
itemIds.Add(objid); itemIds.Add(objid);
}); });
} }

25
客户端/齐越慧眼/齐越慧眼/cefhelper/CefRequestHandler.cs

@ -14,7 +14,6 @@ namespace 齐越慧眼.cefhelper
public class MyRequestHandler : RequestHandler public class MyRequestHandler : RequestHandler
{ {
public BrowerControl brower { get; set; }
protected override bool OnBeforeBrowse(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool userGesture, protected override bool OnBeforeBrowse(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool userGesture,
bool isRedirect) bool isRedirect)
@ -27,17 +26,29 @@ namespace 齐越慧眼.cefhelper
IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling) IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling)
{ {
if (!string.IsNullOrEmpty(request.Url))
{
if (request.Url.Contains("jd.com")) {
brower.OnUrlEnd(request.Url);
}
}
// 先调用基类的实现,断点调试 // 先调用基类的实现,断点调试
return base.GetResourceRequestHandler( return base.GetResourceRequestHandler(
chromiumWebBrowser, browser, frame, request, isNavigation, chromiumWebBrowser, browser, frame, request, isNavigation,
isDownload, requestInitiator, ref disableDefaultHandling); isDownload, requestInitiator, ref disableDefaultHandling);
} }
}
public class MyResourceRequestHandlerFactory : ResourceRequestHandlerFactory
{
protected override IResourceRequestHandler GetResourceRequestHandler(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling)
{
return new MyResourceRequestHandler();
}
}
public class MyResourceRequestHandler : ResourceRequestHandler
{
protected override bool OnResourceResponse(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IResponse response)
{
MainWindow.Main.brower.OnUrlEnd(request.Url);
return base.OnResourceResponse(chromiumWebBrowser, browser, frame, request, response);
}
} }
} }

Loading…
Cancel
Save