Re: Target = "_blank"
Posted: Sat Oct 13, 2018 10:42 am
Use TChromium.OnBeforePopup and set the "Result" parameter to TRUE to block the navigation if "targetDisposition" is WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP or WOD_NEW_WINDOW.
Then use TChromium.LoadURL with the "targetUrl" parameter.
For more information about that event read the CEF3 code comments :
Edit : After some tests I had to remove the alternative method to open popup windows in the same browser using the WindowInfoAsChild function with windowInfo. The current CEF4DElphi structure and the latest CEF3 binaries can't be used that way.
Then use TChromium.LoadURL with the "targetUrl" parameter.
For more information about that event read the CEF3 code comments :
Code: Select all
///
// Called on the UI thread before a new popup browser is created. The
// |browser| and |frame| values represent the source of the popup request. The
// |target_url| and |target_frame_name| values indicate where the popup
// browser should navigate and may be NULL if not specified with the request.
// The |target_disposition| value indicates where the user intended to open
// the popup (e.g. current tab, new tab, etc). The |user_gesture| value will
// be true (1) if the popup was opened via explicit user gesture (e.g.
// clicking a link) or false (0) if the popup opened automatically (e.g. via
// the DomContentLoaded event). The |popupFeatures| structure contains
// additional information about the requested popup window. To allow creation
// of the popup browser optionally modify |windowInfo|, |client|, |settings|
// and |no_javascript_access| and return false (0). To cancel creation of the
// popup browser return true (1). The |client| and |settings| values will
// default to the source browser's values. If the |no_javascript_access| value
// is set to false (0) the new browser will not be scriptable and may not be
// hosted in the same renderer process as the source browser. Any
// modifications to |windowInfo| will be ignored if the parent browser is
// wrapped in a cef_browser_view_t. Popup browser creation will be canceled if
// the parent browser is destroyed before the popup browser creation completes
// (indicated by a call to OnAfterCreated for the popup browser).
///