public void OnContextCreated(IWebBrowser browserControl, IBrowser browser, IFrame frame) { var jsCode = System.IO.File.ReadAllText(Environment.CurrentDirectory + @"\Scripts\app.js"); var jQuery = System.IO.File.ReadAllText(Environment.CurrentDirectory + @"\Scripts\jquery-3.2.1.min.js"); frame.ExecuteJavaScriptAsync(jQuery); frame.ExecuteJavaScriptAsync(jsCode); }
public static void KeyDown(IFrame frame, string target, int keyCode) { frame.ExecuteJavaScriptAsync(@"(function(){ var e = jQuery.Event('keydown'); e.keyCode = " + keyCode + @"; $('" + GetOriginal(target) + @"').trigger(e);}());"); frame.ExecuteJavaScriptAsync(@"(function(){ var e = jQuery.Event('keyup'); e.keyCode = " + keyCode + @"; $('" + GetOriginal(target) + @"').trigger(e);}());"); }
public static void RollDown(IFrame frame, int YOffset, string target = null) { if (target != null) { frame.ExecuteJavaScriptAsync(@"(function(){$('" + target + "').scrollTo({top:" + YOffset + ",behavior:'smooth'});}());"); } else { frame.ExecuteJavaScriptAsync(@"(function(){window.scrollTo({top:" + YOffset + ",behavior:'smooth'});}());"); } }
// Wait for the underlying `Javascript Context` to be created, this is only called for the main frame. // If the page has no javascript, no context will be created. void IRenderProcessMessageHandler.OnContextCreated(IWebBrowser browserControl, IBrowser browser, IFrame frame) { const string script = "document.addEventListener('DOMContentLoaded', function(){ bound.initalizateAPP(); });" + ""; frame.ExecuteJavaScriptAsync(script); }
public bool OnBeforePopup(IWebBrowser browserControl, IBrowser browser, IFrame frame, string targetUrl, string targetFrameName, WindowOpenDisposition targetDisposition, bool userGesture, IPopupFeatures popupFeatures, IWindowInfo windowInfo, IBrowserSettings browserSettings, ref bool noJavascriptAccess, out IWebBrowser newBrowser) { var chromiumWebBrowser = (ChromiumWebBrowser)browserControl; ChromiumWebBrowser chromiumBrowser = null; //var windowX = windowInfo.X; //var windowY = windowInfo.Y; //var windowWidth = (windowInfo.Width == int.MinValue) ? 600 : windowInfo.Width; //var windowHeight = (windowInfo.Height == int.MinValue) ? 800 : windowInfo.Height; //chromiumWebBrowser.Dispatcher.Invoke(new Action(() => { // chromiumBrowser = new ChromiumWebBrowser(); // //chromiumBrowser.SetAsPopup(); // var popup = new BrowserWindow(chromiumBrowser) { // Address = targetUrl, // //Left = windowX, // //Top = windowY, // //Width = windowWidth, // //Height = windowHeight, // }; // popup.Owner = this; // popup.Show(); // _Popups.Add(popup); //})); frame.ExecuteJavaScriptAsync("console.log(window.location.href);"); newBrowser = chromiumBrowser; return(false); }
public static void DispatchLanguageChanged(IFrame frame, string selectedLanguage) { var script = string.Concat( "var event = new CustomEvent('LanguageChanged', {detail:", "\"", selectedLanguage, "\"", " }); document.dispatchEvent(event);"); frame.ExecuteJavaScriptAsync(script); }
// Helpers public static void RunScript(IFrame frame, string script, string identifier) { if (script != null) { frame.ExecuteJavaScriptAsync(script, identifier, 1); } }
// Wait for the underlying `Javascript Context` to be created, this is only called for the main frame. // If the page has no javascript, no context will be created. async void IRenderProcessMessageHandler.OnContextCreated(IWebBrowser browserControl, IBrowser browser, IFrame frame) { const string script = @" document.addEventListener('DOMContentLoaded', function() { alert('DomLoaded'); //test('你好吗?'); }); "; frame.ExecuteJavaScriptAsync(script); //await frame.EvaluateScriptAsync(script); //const string scriptWithReturn = @" // test('测试返回');"; //var task = frame.EvaluateScriptAsync(scriptWithReturn); //await task.ContinueWith(async t => //{ // if (!t.IsFaulted) // { // await Task.Delay(5000); // var response = t.Result; // var x = response.Success ? (response.Result ?? "null") : response.Message; // MessageBox.Show(x.ToString()); // } //}); }
/// <summary> /// The execute. /// </summary> /// <param name="request"> /// The request. /// </param> /// <returns> /// The <see cref="ChromelyResponse"/>. /// </returns> private ChromelyResponse Execute(ChromelyRequest request) { var response = new ChromelyResponse(request.Id); response.ReadyState = (int)ReadyState.ResponseIsReady; response.Status = (int)System.Net.HttpStatusCode.OK; response.StatusText = "OK"; response.Data = DateTime.Now.ToLongDateString(); try { ScriptInfo scriptInfo = new ScriptInfo(request.PostData); IFrame frame = FrameHandler.GetFrame(scriptInfo.FrameName); if (frame == null) { response.Data = $"Frame {scriptInfo.FrameName} does not exist."; return(response); } frame.ExecuteJavaScriptAsync(scriptInfo.Script); response.Data = "Executed script :" + scriptInfo.Script; return(response); } catch (Exception e) { response.ReadyState = (int)ReadyState.RequestReceived; response.Status = (int)System.Net.HttpStatusCode.BadRequest; response.StatusText = "Error"; } return(response); }
private void executeJavaScriptCodeInBrowser(string code) { if (frame != null) { frame.ExecuteJavaScriptAsync(code); } }
private void WindowKeyDown(object sender, System.Windows.Input.KeyEventArgs e) { if (e.Key == Key.S && Keyboard.Modifiers == ModifierKeys.Control) { int result = fs.SaveProject(htmlTextBox, csstextBox); if (result == 1 || result == 2) { SaveProject.IsEnabled = false; } } else if (e.Key == Key.O && Keyboard.Modifiers == ModifierKeys.Control) { fs.OpenProject(htmlTextBox, csstextBox, SaveProject, MainWindowBrowser); } else if (e.Key == Key.N && Keyboard.Modifiers == ModifierKeys.Control) { fs.NewProject(htmlTextBox, csstextBox, SaveProject, this); } else if (e.Key == Key.F && Keyboard.Modifiers == ModifierKeys.Control) { FindAndReplaceDialog dialog = new FindAndReplaceDialog(htmlTextBox, csstextBox); dialog.ShowDialog(); } else if (e.Key == Key.D && Keyboard.Modifiers == ModifierKeys.Control) { DOMHierarchy dOM = new DOMHierarchy(); dOM.generate(htmlTextBox, DomHierarchyTree); } else if (e.Key == Key.C && Keyboard.Modifiers == ModifierKeys.Control) { IFrame copyFrame = MainWindowBrowser.GetMainFrame(); copyFrame.ExecuteJavaScriptAsync("copyAllElements()"); } else if (e.Key == Key.V && Keyboard.Modifiers == ModifierKeys.Control && !isPressed) { isPressed = true; if (EditProperties.copycheck) { var clipboarddata = System.Windows.Clipboard.GetText(); IFrame frame = MainWindowBrowser.GetMainFrame(); frame.ExecuteJavaScriptAsync(String.Format("pasteAllElements(`{0}`)", clipboarddata)); EditProperties.copycheck = false; } else { winForms.MessageBox.Show("Please select an element to paste", "Element Selection Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else if (e.Key == Key.A && Keyboard.Modifiers == ModifierKeys.Control) { IFrame selectFrame = MainWindowBrowser.GetMainFrame(); selectFrame.ExecuteJavaScriptAsync("selectAllElements()"); } else if (e.Key == Key.Delete) { IFrame deleteFrame = MainWindowBrowser.GetMainFrame(); deleteFrame.ExecuteJavaScriptAsync("deleteAllElements()"); } }
public static void InjuctJQ(IFrame frame) { frame.ExecuteJavaScriptAsync(JQ); //frame.ExecuteJavaScriptAsync(@" (function(){ // var h = document.getElementsByTagName('head')[0]; // var s = document.createElement('script'); // s.src = '"+ JQuerySource + "';h.appendChild(s);}());"); }
public static void ExecuteScript(IFrame frame, string script, string identifier) { if (script == null) { return; } frame.ExecuteJavaScriptAsync(script, UrlPrefix + identifier, 1); }
void IRenderProcessMessageHandler.OnContextCreated(IWebBrowser browserControl, IBrowser browser, IFrame frame) { if (frame.Url == BaseMap.DefaultUrl) { string script = "document.addEventListener('DOMContentLoaded', function(){ " + BaseMap.LoadMap() + " });"; frame.ExecuteJavaScriptAsync(script); } }
private void btnHighlight_Click(object sender, EventArgs e) { string escapedXPATH = EscapeXpath(txtXpath.Text); string script = Properties.Resources.HighlightElement .Replace("{xpath}", escapedXPATH) .Replace("{count}", ((int)numericUpDown1.Value).ToString()); _myFrame.ExecuteJavaScriptAsync(script); }
/// <summary> /// The function is used to change the content status /// </summary> /// <param name="frame"></param> /// <param name="enable"></param> public static void DispatchContentStatusChanged(IFrame frame, bool enable) { var script = string.Format( CultureInfo.InvariantCulture, "var event = new CustomEvent('ContentStatusChanged', {{detail:{{contentStatus: {0} }} }}); document.dispatchEvent(event);", enable.ToString().ToLowerInvariant()); frame.ExecuteJavaScriptAsync(script); }
public override bool OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags) { if (base.OnContextMenuCommand(browserControl, browser, frame, parameters, commandId, eventFlags)) { return(true); } switch ((int)commandId) { case (int)CefMenuCommand.Reload: frame.ExecuteJavaScriptAsync("window.location.href = 'https://tweetdeck.twitter.com'"); return(true); case MenuSettings: form.InvokeSafe(form.OpenSettings); return(true); case MenuAbout: form.InvokeSafe(form.OpenAbout); return(true); case MenuPlugins: form.InvokeSafe(form.OpenPlugins); return(true); case MenuMute: form.InvokeSafe(() => { Program.UserConfig.MuteNotifications = !Program.UserConfig.MuteNotifications; Program.UserConfig.Save(); }); return(true); case MenuOpenTweetUrl: BrowserUtils.OpenExternalBrowser(lastHighlightedTweet); return(true); case MenuCopyTweetUrl: SetClipboardText(lastHighlightedTweet); return(true); case MenuScreenshotTweet: form.InvokeSafe(form.TriggerTweetScreenshot); return(true); case MenuOpenQuotedTweetUrl: BrowserUtils.OpenExternalBrowser(lastHighlightedQuotedTweet); return(true); case MenuCopyQuotedTweetUrl: SetClipboardText(lastHighlightedQuotedTweet); return(true); } return(false); }
public void OnContextCreated(IWebBrowser browserControl, IBrowser browser, IFrame frame) { frame.ExecuteJavaScriptAsync(@" document.addEventListener('DOMContentLoaded', function (event) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'res://localhost/web/login.js'; document.body.appendChild(script); });" ); }
private void Browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e) { IFrame frame = e.Frame; if (frame.IsMain && browser.Address != "about:blank") { frame.ExecuteJavaScriptAsync(PropertyBridge.GenerateScript(PropertyBridge.Environment.Notification)); ScriptLoader.ExecuteFile(frame, "notification.js", this); } }
void IRenderProcessMessageHandler.OnContextCreated(IWebBrowser browserControl, IBrowser browser, IFrame frame) { const string script = "document.addEventListener('DOMContentLoaded', function(){ " + "window.riot.control.trigger(window.riot.EVT.routeStore.in.routeDispatch, '/main/projects'); " + "});"; frame.ExecuteJavaScriptAsync(script); }
public static void ExecuteScript(ChromiumWebBrowser browser, string script, string identifier) { if (script == null) { return; } using (IFrame frame = browser.GetMainFrame()){ frame.ExecuteJavaScriptAsync(script, UrlPrefix + identifier, 1); } }
public void SendOtherFrameJs(string frameName, string js) { if (browser != null) { IFrame frame = browser.GetBrowser().GetFrame(frameName); if (frame != null) { frame.ExecuteJavaScriptAsync(js); } } }
public bool OnBeforePopup(IWebBrowser browserControl, IBrowser browser, IFrame frame, string targetUrl, string targetFrameName, WindowOpenDisposition targetDisposition, bool userGesture, IPopupFeatures popupFeatures, IWindowInfo windowInfo, IBrowserSettings browserSettings, ref bool noJavascriptAccess, out IWebBrowser newBrowser) { newBrowser = null; // Preserve new windows to be opened and load all popup urls in the same browser view //browserControl.Load(targetUrl); //frame.ExecuteJavaScriptAsync("setTimeout(function () { location.href = '" + targetUrl + "'; }, 1);"); frame.ExecuteJavaScriptAsync(" location.href = '" + targetUrl + "'; "); return(true); }
private void downLoadStarter() { //Console.Out; //string src = IBrowser.GetSourceAsync(webPagePreview); //webPagePreview.ViewSource(); //webPagePreview.GetMainFrame().ViewSource(); if (ReconSwitch.Value == 1) { ICEReconTimer.Start(); } ICEDownloaderStatus.Content = "Running"; string cmd = @"document.getElementById('companyId').selectedIndex=0; "; cmd += @"var a = document.getElementsByTagName('a'); "; cmd += @"var c; for(i=0;i<a.length;i++) if(a[i].href=='https://www.theice.com/reports/DealReport.shtml?excel=') c=a[i]; c.click(); "; //cmd += @"alert(a[3].href);"; //cmd += @"document.getElementById('companyId').selectedIndex=1; c.click()"; //cmd += @"var a = document.getElementsByTagName('a'); "; //cmd += "for(i=0;i<a.length;i++) if(a[i].href==\"https://www.theice.com/reports/DealReport.shtml?excel=\") a[i].click(); "; cmd = @"var a = document.getElementsByTagName('a'); var c; for (i = 0; i < a.length; i++) if (a[i].href == 'https://www.theice.com/reports/DealReport.shtml?excel=') c = a[i];"; cmd += @"document.getElementById('companyId').selectedIndex = 0; c.click(); setTimeout(function(){ document.getElementById('companyId').selectedIndex = 1; c.click(); },15000);"; IFrame frame = webPagePreview.GetMainFrame(); frame.ExecuteJavaScriptAsync(cmd); frame.ExecuteJavaScriptAsync("document.getElementById('companyId').selectedIndex = 1;"); //frame.ExecuteJavaScriptAsync("alert('ExecuteJavaScript works!');"); //frame->GetURL(), 0); /* * var a = document.getElementsByTagName('a'); var c; for(i=0;i<a.length;i++) if(a[i].href=='https://www.theice.com/reports/DealReport.shtml?excel=') c=a[i]; setInterval(function(){ * document.getElementById('companyId').selectedIndex=0; c.click(); console.log("0 Done"); setTimeout(function(){document.getElementById('companyId').selectedIndex=1; c.click();},5000); * }, 600000); */ Debug.WriteLine("..........." + webPagePreview.Content.ToString()); DateTime now = TimeZoneInfo.ConvertTimeFromUtc(System.DateTime.UtcNow, TimeZoneInfo.Local); ICEDownloaderStatus.Content = "Last executed at " + now.ToString("dd-mmm-yy hh:mm:ss"); //Console.WriteLine("..........." + webPagePreview.Content.ToString()); }
public bool OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags) { if (commandId == CefMenuCommand.Find) { string searchAddress = "https://www.bing.com/search?q=" + parameters.SelectionText; frame.ExecuteJavaScriptAsync($"window.open('{searchAddress}', '_blank')"); return(true); } return(false); }
// Wait for the underlying `Javascript Context` to be created, this is only called for the main frame. // If the page has no javascript, no context will be created. void IRenderProcessMessageHandler.OnContextCreated(IWebBrowser browserControl, IBrowser browser, IFrame frame) { frame.ExecuteJavaScriptAsync( string.Format( @" document.addEventListener('DOMContentLoaded', function() {{ CsApi.effectKind = ""{0}""; CsApi.json = {1}; }});", effectKind, json)); }
public static void LoopKeyDown(IFrame frame, string target, int times, int delay, int keyCode = 34) { Thread.Sleep(delay * 2); for (int i = 0; i < times; i++) { frame.ExecuteJavaScriptAsync(@"(function(){ var e = jQuery.Event('keydown'); e.keyCode = " + keyCode + @"; $('" + GetOriginal(target) + @"').trigger(e);}());"); Thread.Sleep(delay); } }
public void ApplyStyleSheet() { if (!StyleSheetApplied && !Configuration.AppliesStyleSheet) return; try { if (StyleSheetApplied) { var browser = Browser.GetBrowser(); bool has_game_frame = false; foreach (var i in browser.GetFrameIdentifiers()) { IFrame frame = browser.GetFrame(i); if (frame.Name == "game_frame") { has_game_frame = true; frame.ExecuteJavaScriptAsync(string.Format(Properties.Resources.Restore_JS, StyleClassID)); break; } } if (has_game_frame) { browser.MainFrame.ExecuteJavaScriptAsync(string.Format(Properties.Resources.Restore_JS, StyleClassID)); StyleSheetApplied = false; Browser.Dock = DockStyle.Fill; } } else if (!StyleSheetApplied && Configuration.AppliesStyleSheet) { var browser = Browser.GetBrowser(); bool has_game_frame = false; foreach (var i in browser.GetFrameIdentifiers()) { IFrame frame = browser.GetFrame(i); if (frame.Name == "game_frame") { has_game_frame = true; frame.ExecuteJavaScriptAsync(string.Format(Properties.Resources.Frame_JS, StyleClassID)); break; } } if (has_game_frame) { browser.MainFrame.ExecuteJavaScriptAsync(string.Format(Properties.Resources.Page_JS, StyleClassID)); StyleSheetApplied = true; } } ApplyZoom(); } catch (Exception ex) { switch (BrowserUILanguage) { case "zh": SendErrorReport(ex.ToString(), "应用样式表失败。"); break; default: SendErrorReport(ex.ToString(), "スタイルシートの適用に失敗しました。"); break; } } }
public void PasteElement(CefSharp.Wpf.ChromiumWebBrowser MainWindowBrowser) { if (copycheck) { var clipboarddata = System.Windows.Clipboard.GetText(); IFrame frame = MainWindowBrowser.GetMainFrame(); frame.ExecuteJavaScriptAsync(String.Format("pasteAllElements(`{0}`)", clipboarddata)); } else { System.Windows.Forms.MessageBox.Show("Please select an element to paste", "Element Selection Error", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); } }
public static void HandleDelayedJS(string browserName, IFrame frame) { string browsers_script = js[browserName]; if (!string.IsNullOrEmpty(browsers_script)) { if (frame != null && frame.IsMain) { frame.ExecuteJavaScriptAsync(browsers_script); js[browserName] = ""; } } }