Browse Source

加大浏览器内核内存

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

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

@ -4,6 +4,7 @@ using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -19,17 +20,26 @@ namespace 齐越慧眼
{
public App() {
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
var settings = new CefSettings() {
// CachePath = System.Environment.CurrentDirectory + "\\webDatas\\data",
// LocalesDirPath = System.Environment.CurrentDirectory + "\\webDatas",
// RootCachePath= System.Environment.CurrentDirectory + "\\rootCache",
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",
Locale= "zh-CN",
// AutoDetectProxySettings = false,
// PackLoadingDisabled = true,
// LogSeverity = LogSeverity.Disable
};
// ...
var settings = new CefSettings()
{
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",
Locale = "zh-CN",
AcceptLanguageList= "zh-CN,zh;q=0.8",
PersistSessionCookies=true,
CachePath = Directory.GetCurrentDirectory() + @"\Cache",
//LocalesDirPath = Directory.GetCurrentDirectory() + "/localeDir",
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()
{

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

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

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

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

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

@ -27,16 +27,20 @@ namespace 齐越慧眼.UserControls
BrowserSettings =
{
DefaultEncoding = "UTF-8",
// Plugins = CefState.Enabled,
Plugins = CefState.Enabled,
//关于跨域限制
//WebSecurity = CefState.Disabled,
// ApplicationCache = CefState.Enabled,
// LocalStorage = CefState.Enabled
ApplicationCache = 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);
@ -46,19 +50,32 @@ namespace 齐越慧眼.UserControls
web.JavascriptObjectRepository.Register("hyCoreModel", new CefAsyncJS(), BindingOptions.DefaultBinder);
Main = this;
web.StartNewWindow += Web_StartNewWindow;
}
int nowPatlom = 0;
public void OnUrlEnd(string url)
{
if (url.Contains("s_new.php"))
{
Task.Factory.StartNew(() =>
{
nowPatlom = 1;
lastUrl = "search.jd.com";
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)
@ -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")) {
nowPatlom = 0;
}
if (lastUrl.StartsWith("https://search.jd.com/"))
{
nowPatlom =1;
}
if (lastUrl.StartsWith("https://s.1688.com/"))
{
nowPatlom = 2;
}
StartPage();
}
// web.ShowDevTools();
}
}
@ -124,7 +154,7 @@ namespace 齐越慧眼.UserControls
AddJquery();
}
AddAjaxHook();
// AddAjaxHook();
DoWork();
}
@ -158,26 +188,26 @@ namespace 齐越慧眼.UserControls
{
AddCss();
if (lastUrl.Contains("s.taobao.com"))
if (nowPatlom==0)
{
AddTaoBaoOptionDiv();
CheckTaoBaoPageItem();
}
if (lastUrl.Contains("search.jd.com"))
if (nowPatlom == 1)
{
AddJDOptionDiv();
CheckJDPageItem();
}
//if (lastUrl.Contains("s.1688.com"))
//{
// Add1688OptionDiv();
// Check1688PageItem();
// web.ShowDevTools();
//}
if (nowPatlom == 2)
{
Add1688OptionDiv();
Check1688PageItem();
web.ShowDevTools();
}
lastUrl = string.Empty;
//lastUrl = string.Empty;
break;
}
@ -410,7 +440,8 @@ namespace 齐越慧眼.UserControls
{
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);
});
}

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

@ -14,7 +14,6 @@ namespace 齐越慧眼.cefhelper
public class MyRequestHandler : RequestHandler
{
public BrowerControl brower { get; set; }
protected override bool OnBeforeBrowse(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool userGesture,
bool isRedirect)
@ -27,17 +26,29 @@ namespace 齐越慧眼.cefhelper
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(
chromiumWebBrowser, browser, frame, request, isNavigation,
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