Compare commits
3 Commits
dd7a518ea6
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
51371ab2cf | ||
|
|
b9078f8789 | ||
|
|
25bc5f966f |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -111,3 +111,4 @@ _UpgradeReport_Files/
|
|||||||
Backup*/
|
Backup*/
|
||||||
UpgradeLog*.XML
|
UpgradeLog*.XML
|
||||||
/.vs
|
/.vs
|
||||||
|
.idea/
|
||||||
|
|||||||
@@ -65,7 +65,7 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
<Border Grid.Row="1" BorderBrush="Gray" BorderThickness="0,1">
|
<Border Grid.Row="1" BorderBrush="Gray" BorderThickness="0,1">
|
||||||
<wpf:ChromiumWebBrowser x:Name="Browser"
|
<wpf:ChromiumWebBrowser x:Name="Browser"
|
||||||
Address="https://www.google.com">
|
Address="https://blog.devwiki.net">
|
||||||
<behaviors:Interaction.Behaviors>
|
<behaviors:Interaction.Behaviors>
|
||||||
<behaviours:HoverLinkBehaviour x:Name="HoverLinkBehaviour" />
|
<behaviours:HoverLinkBehaviour x:Name="HoverLinkBehaviour" />
|
||||||
</behaviors:Interaction.Behaviors>
|
</behaviors:Interaction.Behaviors>
|
||||||
|
|||||||
@@ -1,4 +1,12 @@
|
|||||||
using System.Windows;
|
using System;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Input;
|
||||||
|
using CefSharp.Event;
|
||||||
|
using CefSharp.JavascriptBinding;
|
||||||
|
using CefSharp.Wpf;
|
||||||
|
using CefSharp.Wpf.Experimental;
|
||||||
|
using CefSharp.Wpf.Internals;
|
||||||
|
|
||||||
namespace CefSharp.MinimalExample.Wpf
|
namespace CefSharp.MinimalExample.Wpf
|
||||||
{
|
{
|
||||||
@@ -7,8 +15,23 @@ namespace CefSharp.MinimalExample.Wpf
|
|||||||
public MainWindow()
|
public MainWindow()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
Browser.BrowserSettings.Javascript = CefState.Enabled;
|
||||||
|
Browser.JavascriptObjectRepository.Settings.LegacyBindingEnabled = true;
|
||||||
Browser.FrameLoadStart += BrowserOnFrameLoadStart;
|
Browser.FrameLoadStart += BrowserOnFrameLoadStart;
|
||||||
Browser.FrameLoadEnd += BrowserOnFrameLoadEnd;
|
Browser.FrameLoadEnd += BrowserOnFrameLoadEnd;
|
||||||
|
Browser.JavascriptObjectRepository.Register("script", new Script(), false, BindingOptions.DefaultBinder);
|
||||||
|
// Browser.JavascriptObjectRepository.ResolveObject += JavascriptObjectRepositoryOnResolveObject;
|
||||||
|
Browser.WpfKeyboardHandler = new WebBrowserWpfKeyboardHandler(Browser);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void JavascriptObjectRepositoryOnResolveObject(object sender, JavascriptBindingEventArgs e)
|
||||||
|
{
|
||||||
|
var repo = e.ObjectRepository;
|
||||||
|
if (e.ObjectName == "script")
|
||||||
|
{
|
||||||
|
repo.NameConverter = new CamelCaseJavascriptNameConverter();
|
||||||
|
repo.Register("script", new Script(), isAsync: true, options: BindingOptions.DefaultBinder);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BrowserOnFrameLoadEnd(object sender, FrameLoadEndEventArgs e)
|
private void BrowserOnFrameLoadEnd(object sender, FrameLoadEndEventArgs e)
|
||||||
@@ -65,5 +88,43 @@ namespace CefSharp.MinimalExample.Wpf
|
|||||||
JsResultTb.Text = "js is empty!";
|
JsResultTb.Text = "js is empty!";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string GetWindowName()
|
||||||
|
{
|
||||||
|
return "MainWindow";
|
||||||
|
}
|
||||||
|
|
||||||
|
public void printLog(string log)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"printLog:{log}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class WebBrowserWpfKeyboardHandler : WpfImeKeyboardHandler
|
||||||
|
{
|
||||||
|
public WebBrowserWpfKeyboardHandler(ChromiumWebBrowser owner) : base(owner)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
public override void HandleKeyPress(KeyEventArgs e)
|
||||||
|
{
|
||||||
|
base.HandleKeyPress(e);
|
||||||
|
if (e.Key == Key.F12)
|
||||||
|
{
|
||||||
|
owner.ShowDevTools();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Script
|
||||||
|
{
|
||||||
|
public string GetWindowName()
|
||||||
|
{
|
||||||
|
return "MainWindow";
|
||||||
|
}
|
||||||
|
|
||||||
|
public void PrintLog(string log)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"H5 log:{log}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user