Udostępnij przez


Recall wskazówki dla deweloperów przeglądarek internetowych

Wiele przeglądarek internetowych obsługuje pojęcie przeglądania "InPrivate", w którym historia użytkownika nie jest zapisywana.

Aby upewnić się, że historia przeglądania użytkownika nie była zapisywana w takich trybach jak ten, twoja aplikacja może używać funkcji SetInputScope, ustawiając zakres danych wejściowych na wartość IS_PASSWORD.

Ważne

Aplikacja musi również mieć zarejestrowany protokół http lub procedurę obsługi https, zanim SetInputScope będzie wspierać zachowanie opisane w tym artykule.

[DllImport("msctf.dll", SetLastError = true)]
private static extern int SetInputScope(IntPtr hwnd, InputScope inputScope);

private new enum InputScope : int
{
    IS_DEFAULT = 0,
    IS_URL = 1,
    IS_FILE_FULLFILEPATH = 2,
    IS_PRIVATE = 0x1f // Input is treated as private (e.g. passwords)
}

private void EnterInPrivateMode()
{
    // Get your HWND. This will vary based on your UI Framework. WPF can use WindowInteropHelper, passing in your current Window.
    IntPtr hwnd = new WindowInteropHelper(this).Handle;

    // Then, set the input scope on the HWND to private
    SetInputScope(hwnd, InputScope.IS_PRIVATE);
}

private void ExitInPrivateMode()
{
    // Get your HWND. This will vary based on your UI Framework. WPF can use WindowInteropHelper, passing in your current Window.
    IntPtr hwnd = new WindowInteropHelper(this).Handle;

    // Then, set the input scope on the HWND to default
    SetInputScope(hwnd, InputScope.IS_DEFAULT);
}

Aplikacja powinna wstrzymać udostępnianie działań użytkownika, gdy użytkownik jest w trybie przeglądania "prywatny".