MainWindow.xaml 소스
<Window x:Class="WpfWebView.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="500" Width="600">
<Grid x:Name="xRootGrid">
<Button Content="Back" Width="100" Height="50" VerticalAlignment="Top" HorizontalAlignment="Left" Background="White" Margin="0,0,0,0" Click="Button_Back" />
<WebBrowser x:Name="xWebBrowser" Margin="0,50,0,0"/>
</Grid>
</Window>
MainWindow.xaml.cs 소스
using System;
using System.Windows;
namespace WpfApplication2
{
/// <summary>
/// MainWindow.xaml에 대한 상호 작용 논리
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
xWebBrowser.Navigate("https://www.naver.com");
}
private void ExecScript(String strScript)
{
xWebBrowser.InvokeScript("execScript", new object[] { strScript, "JavaScript" });
}
private void Button_Back(object sender, RoutedEventArgs e)
{
if (xWebBrowser.CanGoBack)
xWebBrowser.GoBack();
}
private void Button_Javascript(object sender, RoutedEventArgs e)
{
ExecScript("alert('자바스크립트 실행!');");
}
}
}
결과창
처음 사이트는 아무 곳이나 지정해서 이동하자.
소스에서는 네이버를 지정하였다.
그리고 ExecScript 함수가 핵심.
InvokeScript라는 WebBrowser의 API를 동작시켜서 javascript 코드가 동작하도록 하였다.
execScript 대신 eval을 써도 동작한다.
C# 'NonComVisibleBaseClass' 설정 QueryInterface 오류 (0) | 2018.08.02 |
---|---|
WPF TextBox 여러 줄이 입력되도록 설정하기 (0) | 2018.07.30 |
C# CefSharp.Core.dll 오류 해결 (0) | 2018.06.20 |
[C#]CefSharp ChromiumWebBrowser 팝업(Popup) 이벤트 제어하기 (0) | 2018.06.19 |