Popup a Browser Window

本文介绍如何使用SilverLight的HtmlPage.PopupWindow()方法打开新的浏览器窗口。该方法需响应用户操作,如按钮点击,并可通过参数设置新窗口的URL、标题及尺寸等属性。

 如果用户点击了一个按钮,并且你想弹出另外一个浏览器窗口,在SilverLight里面应该怎么做?

 

SilverLight现在有个方法叫做 HtmlPage.PopupWindow(),由于安全原因,只响应用户操作事件,比如说按钮点击。

 

我们先要添加引用 System.Windows.Browser;

调用 HtmlPage.PopupWindow() 有三个参数:

  • Uri – 浏览器指向的位置 (比如: http://www.silverlight.net).
  • String – 目标窗口的标题.
  • HtmlPopupWindowOptions – 可选择的参数,比如说窗口位置,大小。同样,是否工具栏,菜单栏激活或者更多。

下面的代码演示怎么用:

 

C#代码 
  1. private void Button_Click(object sender, RoutedEventArgs e)  
  2. {  
  3.     HtmlPopupWindowOptions options = new HtmlPopupWindowOptions();  
  4.    
  5.     options.Left = 0;  
  6.     options.Top = 0;  
  7.     options.Width = 800;  
  8.     options.Height = 600;  
  9.    
  10.     if(true == HtmlPage.IsPopupWindowAllowed)  
  11.         HtmlPage.PopupWindow(new Uri("http://www.silverlight.net"), "new", options);  
  12. }  

 

*Note: 这个方法在 Safari 里面是不适用的,因为它没有实现 NPAPI contract 的权力(我不知道这是啥,知道的自然知道,不知道的去Google,我不看了)。

ERROR [browser] ❌ Failed to create new browser session: BrowserType.launch: Target page, context or browser has been closed Browser logs: <launching> C:\Users\小白\AppData\Local\ms-playwright\chromium-1179\chrome-win\chrome.exe --disable-field-trial-config --disable-background-networking --disable-background-timer-throttling --disable-backgrounding-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-background-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AcceptCHFrame,AutoExpandDetailsElement,AvoidUnnecessaryBeforeUnloadCheckSync,CertificateTransparencyComponentUpdater,DestroyProfileOnBrowserClose,DialMediaRouteProvider,ExtensionManifestV2Disabled,GlobalMediaControls,HttpsUpgrades,ImprovedCookieControls,LazyFrameLoading,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate --allow-pre-commit-input --disable-hang-monitor --disable-ipc-flooding-protection --disable-popup-blocking --disable-prompt-on-repost --disable-renderer-backgrounding --force-color-profile=srgb --metrics-recording-only --no-first-run --password-store=basic --use-mock-keychain --no-service-autorun --export-tagged-pdf --disable-search-engine-choice-screen --unsafely-disable-devtools-self-xss-warnings --enable-automation --no-sandbox --disable-session-crashed-bubble --hide-scrollbars --disable-focus-on-load --no-default-browser-check --no-startup-window --enable-logging=stderr --disable-desktop-notifications --disable-sync --disable-infobars --disable-features=Translate,AcceptCHFrame,OptimizationHints,ProcessPerSiteUpToMainFrameThreshold,InterestFeedContentSuggestions,BackForwardCache,LazyFrameLoading,PrivacySandboxSettings4,AutofillServerCommunication,CertificateTransparencyComponentUpdater,DestroyProfileOnBrowserClose,CrashReporting,OverscrollHistoryNavigation,InfiniteSessionRestore --export-tagged-pdf --disable-blink-features=AutomationControlled --window-position=-8,0 --allow-legacy-extension-manifests --allow-pre-commit-input --hide-crash-restore-bubble --disable-print-preview --ash-no-nudges --silent-debugger-extension-api --install-autogenerated-theme=0,0,0 --disable-external-intent-requests --enable-features=NetworkService --disable-datasaver-prompt --disable-breakpad --log-level=2 --safebrowsing-disable-auto-update --disable-search-engine-choice-screen --disable-window-activation --disable-speech-synthesis-api --disable-prompt-on-repost --metrics-recording-only --remote-debugging-port=9242 --simulate-outdated-no-au="Tue, 31 Dec 2099 23:59:59 GMT" --disable-hang-monitor --suppress-message-center-popups --generate-pdf-document-outline --noerrdialogs --disable-client-side-phishing-detection --window-size=1280,1100 --disable-speech-api --disable-domain-reliability --no-pings --user-data-dir=C:\Users\小白\AppData\Local\Temp\playwright_chromiumdev_profile-ho8MPo --remote-debugging-pipe --no-startup-window <launched> pid=18764 [pid=18764][err] [18764:9348:0710/001816.024:WARNING:chrome\browser\signin\account_consistency_mode_manager.cc:73] Desktop Identity Consistency cannot be enabled as no OAuth client ID and client secret have been configured. [pid=18764][err] [18764:9348:0710/001816.043:WARNING:chrome\browser\chrome_browser_main_win.cc:863] Command line too long for RegisterApplicationRestart: --allow-legacy-extensio --allow-pre-commit-input --disable-back-forward-cache --disable-background-networking --disable-background-timer-throttling --disable-backgrounding-occluded-windows --disable-blink-features=AutomationControlled --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-background-pages --disable-component-update --disable-default-apps --disable-desktop-notifications --disable-dev-shm-usage --disable-extensions --disable-features=Translate,AcceptCHFrame,OptimizationHints,ProcessPerSiteUpToMainFrameThreshold,InterestFeedContentSuggestions,BackForwardCache,LazyFrameLoading,PrivacySandboxSettings4,AutofillServerCommunication,CertificateTransparencyComponentUpdater,DestroyProfileOnBrowserClose,CrashReporting,OverscrollHistoryNavigation,InfiniteSessionRestore --disable-field-trial-config --disable-focus-on-load --disable-hang-monitor --disable-infobars --disable-ipc-flooding-protection --disable-popup-blocking --disable-prompt-on-repost --disable-renderer-backgrounding --disable-search-engine-choice-screen --disable-session-crashed-bubble --disable-sync --enable-automation --enable-logging=stderr --export-tagged-pdf --force-color-profile=srgb --hide-scrollbars --metrics-recording-only --no-default-browser-check --no-first-run --no-sandbox --no-service-autorun --no-startup-window --password-store=basic --unsafely-disable-devtools-self-xss-warnings --use-mock-keychain --window-position=-8,0 --restore-last-session --restart [pid=18764] <process did exit: exitCode=0, signal=null> [pid=18764] starting temporary directories cleanup Call log: - <launching> C:\Users\小白\AppData\Local\ms-playwright\chromium-1179\chrome-win\chrome.exe --disable-field-trial-config --disable-background-networking --disable-background-timer-throttling --disable-backgrounding-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-background-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AcceptCHFrame,AutoExpandDetailsElement,AvoidUnnecessaryBeforeUnloadCheckSync,CertificateTransparencyComponentUpdater,DestroyProfileOnBrowserClose,DialMediaRouteProvider,ExtensionManifestV2Disabled,GlobalMediaControls,HttpsUpgrades,ImprovedCookieControls,LazyFrameLoading,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate --allow-pre-commit-input --disable-hang-monitor --disable-ipc-flooding-protection --disable-popup-blocking --disable-prompt-on-repost --disable-renderer-backgrounding --force-color-profile=srgb --metrics-recording-only --no-first-run --password-store=basic --use-mock-keychain --no-service-autorun --export-tagged-pdf --disable-search-engine-choice-screen --unsafely-disable-devtools-self-xss-warnings --enable-automation --no-sandbox --disable-session-crashed-bubble --hide-scrollbars --disable-focus-on-load --no-default-browser-check --no-startup-window --enable-logging=stderr --disable-desktop-notifications --disable-sync --disable-infobars --disable-features=Translate,AcceptCHFrame,OptimizationHints,ProcessPerSiteUpToMainFrameThreshold,InterestFeedContentSuggestions,BackForwardCache,LazyFrameLoading,PrivacySandboxSettings4,AutofillServerCommunication,CertificateTransparencyComponentUpdater,DestroyProfileOnBrowserClose,CrashReporting,OverscrollHistoryNavigation,InfiniteSessionRestore --export-tagged-pdf --disable-blink-features=AutomationControlled --window-position=-8,0 --allow-legacy-extension-manifests --allow-pre-commit-input --hide-crash-restore-bubble --disable-print-preview --ash-no-nudges --silent-debugger-extension-api --install-autogenerated-theme=0,0,0 --disable-external-intent-requests --enable-features=NetworkService --disable-datasaver-prompt --disable-breakpad --log-level=2 --safebrowsing-disable-auto-update --disable-search-engine-choice-screen --disable-window-activation --disable-speech-synthesis-api --disable-prompt-on-repost --metrics-recording-only --remote-debugging-port=9242 --simulate-outdated-no-au="Tue, 31 Dec 2099 23:59:59 GMT" --disable-hang-monitor --suppress-message-center-popups --generate-pdf-document-outline --noerrdialogs --disable-client-side-phishing-detection --window-size=1280,1100 --disable-speech-api --disable-domain-reliability --no-pings --user-data-dir=C:\Users\小白\AppData\Local\Temp\playwright_chromiumdev_profile-ho8MPo --remote-debugging-pipe --no-startup-window - <launched> pid=18764 - [pid=18764][err] [18764:9348:0710/001816.024:WARNING:chrome\browser\signin\account_consistency_mode_manager.cc:73] Desktop Identity Consistency cannot be enabled as no OAuth client ID and client secret have been configured. - [pid=18764][err] [18764:9348:0710/001816.043:WARNING:chrome\browser\chrome_browser_main_win.cc:863] Command line too long for RegisterApplicationRestart: --allow-legacy-extensio --allow-pre-commit-input --disable-back-forward-cache --disable-background-networking --disable-background-timer-throttling --disable-backgrounding-occluded-windows --disable-blink-features=AutomationControlled --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-background-pages --disable-component-update --disable-default-apps --disable-desktop-notifications --disable-dev-shm-usage --disable-extensions --disable-features=Translate,AcceptCHFrame,OptimizationHints,ProcessPerSiteUpToMainFrameThreshold,InterestFeedContentSuggestions,BackForwardCache,LazyFrameLoading,PrivacySandboxSettings4,AutofillServerCommunication,CertificateTransparencyComponentUpdater,DestroyProfileOnBrowserClose,CrashReporting,OverscrollHistoryNavigation,InfiniteSessionRestore --disable-field-trial-config --disable-focus-on-load --disable-hang-monitor --disable-infobars --disable-ipc-flooding-protection --disable-popup-blocking --disable-prompt-on-repost --disable-renderer-backgrounding --disable-search-engine-choice-screen --disable-session-crashed-bubble --disable-sync --enable-automation --enable-logging=stderr --export-tagged-pdf --force-color-profile=srgb --hide-scrollbars --metrics-recording-only --no-default-browser-check --no-first-run --no-sandbox --no-service-autorun --no-startup-window --password-store=basic --unsafely-disable-devtools-self-xss-warnings --use-mock-keychain --window-position=-8,0 --restore-last-session --restart - [pid=18764] <process did exit: exitCode=0, signal=null> - [pid=18764] starting temporary directories cleanup (did the browser process quit?)
最新发布
07-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值