login.microsoftonline.com
Open in
urlscan Pro
40.126.35.81
Public Scan
Submitted URL: https://cathaypacific-dwp.onbmc.com/dwp/
Effective URL: https://login.microsoftonline.com/f62aca8c-2ba2-417b-a0c1-ab3f1020ccc4/saml2?SAMLRequest=nVPLbtswEPwVgXfqZTm2CduAG6OogLQVYieHXoLVa...
Submission: On March 14 via api from US — Scanned from SG
Effective URL: https://login.microsoftonline.com/f62aca8c-2ba2-417b-a0c1-ab3f1020ccc4/saml2?SAMLRequest=nVPLbtswEPwVgXfqZTm2CduAG6OogLQVYieHXoLVa...
Submission: On March 14 via api from US — Scanned from SG
Form analysis
2 forms found in the DOMName: f1 — POST https://login.microsoftonline.com/f62aca8c-2ba2-417b-a0c1-ab3f1020ccc4/login
<form name="f1" id="i0281" novalidate="novalidate" spellcheck="false" method="post" target="_top" autocomplete="off"
data-bind="visible: !isLoginPageHidden(), autoSubmit: forceSubmit, attr: { action: postUrl }, ariaHidden: !!activeDialog(), css: { 'provide-min-height': svr.fUseMinHeight }"
action="https://login.microsoftonline.com/f62aca8c-2ba2-417b-a0c1-ab3f1020ccc4/login" class="provide-min-height">
<!-- ko withProperties: { '$loginPage': $data } -->
<div class="login-paginated-page" data-bind="component: { name: 'master-page',
publicMethods: masterPageMethods,
params: {
serverData: svr,
showButtons: svr.fShowButtons,
showFooterLinks: true,
useWizardBehavior: svr.fUseWizardBehavior,
handleWizardButtons: false,
password: password,
hideFromAria: ariaHidden },
event: {
footerAgreementClick: footer_agreementClick } }"><!-- -->
<!-- ko ifnot: useLayoutTemplates --><!-- /ko -->
<!-- ko if: useLayoutTemplates -->
<!-- ko withProperties: { '$page': $parent } -->
<!-- ko if: isLightboxTemplate() -->
<div id="lightboxTemplateContainer" data-bind="component: { name: 'lightbox-template', params: { serverData: svr, showHeader: $page.showHeader(), headerLogo: $page.headerLogo() } }, css: { 'provide-min-height': svr.fUseMinHeight }"
class="provide-min-height"><!-- -->
<div id="lightboxBackgroundContainer" data-bind="css: { 'provide-min-height': svr.fUsePlaywrightMinHeight },
component: { name: 'background-image-control',
publicMethods: $page.backgroundControlMethods,
event: { load: $page.backgroundImageControl_onLoad } }">
<div class="background-image-holder" role="presentation" data-bind="css: { app: isAppBranding }, style: { background: backgroundStyle }">
<!-- ko if: smallImageUrl --><!-- /ko -->
<!-- ko if: backgroundImageUrl -->
<div id="backgroundImage" role="img" data-bind="backgroundImage: backgroundImageUrl(), externalCss: { 'background-image': true }, ariaLabel: str['STR_Background_Image_AltText']" class="background-image ext-background-image"
aria-label="组织背景图像" style="background-image: url("https://aadcdn.msauth.net/shared/1.0/content/images/backgrounds/2_11d9e3bcdfede9ce5ce5ace2d129f1c4.svg");"></div>
<!-- ko if: useImageMask --><!-- /ko -->
<!-- /ko -->
</div>
</div>
<!-- ko if: svr.iBannerEnvironment --><!-- /ko -->
<!-- ko withProperties: { '$masterPageContext': $parentContext } -->
<div class="outer" data-bind="css: { 'app': $page.backgroundLogoUrl }">
<!-- ko if: showHeader --><!-- /ko -->
<div class="template-section main-section">
<div data-bind="externalCss: { 'middle': true }" class="middle ext-middle">
<div class="full-height" data-bind="component: { name: 'content-control', params: { serverData: svr, isVerticalSplitTemplate: $page.isVerticalSplitTemplate(), hasHeader: showHeader } }"><!-- -->
<!-- ko withProperties: { '$content': $data } -->
<div class="flex-column">
<!-- ko if: $page.paginationControlHelper.showBackgroundLogoHolder --><!-- /ko -->
<!-- ko if: $page.paginationControlHelper.showPageLevelTitleControl --><!-- /ko -->
<div class="win-scroll">
<div id="lightbox" data-bind="
animationEnd: $page.paginationControlHelper.animationEnd,
externalCss: { 'sign-in-box': true },
css: {
'inner': $content.isVerticalSplitTemplate,
'vertical-split-content': $content.isVerticalSplitTemplate,
'app': $page.backgroundLogoUrl,
'wide': $page.paginationControlHelper.useWiderWidth,
'fade-in-lightbox': $page.fadeInLightBox,
'has-popup': $page.showFedCredAndNewSession && ($page.showFedCredButtons() || $page.newSession()),
'transparent-lightbox': $page.backgroundControlMethods() && $page.backgroundControlMethods().useTransparentLightBox,
'lightbox-bottom-margin-debug': $page.showDebugDetails,
'has-header': $content.hasHeader }" class="sign-in-box ext-sign-in-box fade-in-lightbox">
<!-- ko template: { nodes: $masterPageContext.$componentTemplateNodes, data: $page } -->
<!-- ko if: svr.fShowCookieBanner --><!-- /ko -->
<div class="lightbox-cover" data-bind="css: { 'disable-lightbox': svr.fAllowGrayOutLightBox && showLightboxProgress() }"></div>
<!-- ko if: showLightboxProgress --><!-- /ko -->
<!-- ko if: loadBannerLogo -->
<div data-bind="component: { name: 'logo-control',
params: {
isChinaDc: svr.fIsChinaDc,
bannerLogoUrl: bannerLogoUrl() } }"><!-- -->
<!-- ko if: bannerLogoUrl --><!-- /ko -->
<!-- ko if: !bannerLogoUrl && !isChinaDc && !isCiamUserFlowUx -->
<!-- ko component: 'accessible-image-control' --><!-- ko if: (isHighContrastBlackTheme || hasDarkBackground || svr.fHasBackgroundColor) && !isHighContrastWhiteTheme --><!-- /ko -->
<!-- ko if: (isHighContrastWhiteTheme || (!hasDarkBackground && !svr.fHasBackgroundColor)) && !isHighContrastBlackTheme -->
<!-- ko template: { nodes: [darkImageNode], data: $parent } --><img class="logo" role="img" pngsrc="https://aadcdn.msauth.net/shared/1.0/content/images/microsoft_logo_ea19b2112f4dfd8e90b4505ef7dcb4f9.png"
svgsrc="https://aadcdn.msauth.net/shared/1.0/content/images/microsoft_logo_564db913a7fa0ca42727161c6d031bef.svg" data-bind="imgSrc, attr: { alt: str['MOBILE_STR_Footer_Microsoft'] }"
src="https://aadcdn.msauth.net/shared/1.0/content/images/microsoft_logo_564db913a7fa0ca42727161c6d031bef.svg" alt="Microsoft"><!-- /ko -->
<!-- /ko --><!-- /ko -->
<!-- /ko -->
<!-- ko if: !bannerLogoUrl && isCiamUserFlowUx && bannerLogoText --><!-- /ko -->
</div>
<!-- /ko -->
<!-- ko if: svr.strLWADisclaimerMsg && paginationControlHelper.showLwaDisclaimer() --><!-- /ko -->
<!-- ko if: asyncInitReady -->
<div role="main" data-bind="component: { name: 'pagination-control',
publicMethods: paginationControlMethods,
params: {
enableCssAnimation: svr.fEnableCssAnimation,
disableAnimationIfAnimationEndUnsupported: svr.fDisableAnimationIfAnimationEndUnsupported,
initialViewId: initialViewId,
currentViewId: currentViewId,
initialSharedData: initialSharedData,
initialError: $loginPage.getServerError() },
event: {
cancel: paginationControl_onCancel,
load: paginationControlHelper.onLoad,
unload: paginationControlHelper.onUnload,
loadView: view_onLoadView,
showView: view_onShow,
setLightBoxFadeIn: view_onSetLightBoxFadeIn,
animationStateChange: paginationControl_onAnimationStateChange } }"><!-- -->
<div data-bind="css: { 'zero-opacity': hidePaginatedView() }" class="">
<!-- ko if: showIdentityBanner() && (sharedData.displayName || svr.sPOST_Username) --><!-- /ko -->
<div class="pagination-view animate slide-out-next" data-bind="css: {
'has-identity-banner': showIdentityBanner() && (sharedData.displayName || svr.sPOST_Username),
'zero-opacity': hidePaginatedView.hideSubView(),
'animate': animate(),
'slide-out-next': animate.isSlideOutNext(),
'slide-in-next': animate.isSlideInNext(),
'slide-out-back': animate.isSlideOutBack(),
'slide-in-back': animate.isSlideInBack() }">
<!-- ko foreach: views -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() -->
<!-- ko template: { nodes: [$data], data: $parent } -->
<div data-viewid="55" data-bind="pageViewComponent: { name: 'fetch-sessions-progress-view',
params: {
serverData: svr,
sessionPullType: $loginPage.sessionPullType,
isInitialView: isInitialState,
username: sharedData.username,
displayName: sharedData.displayName,
unsafe_desktopSsoDomainToUse: sharedData.unsafe_desktopSsoDomainToUse,
preferredCredential: sharedData.preferredCredential,
isPushNotification: sharedData.remoteNgcParams.defaultType === 1 },
event: {
updateUserTiles: $loginPage.fetchSessions_onUpdateUserTiles,
executeGctResult: $loginPage.fetchSessions_onExecuteGctResult,
submitReady: $loginPage.view_onSubmitReady,
redirect: $loginPage.view_onRedirect } }"><!-- -->
<div id="loginHeader" class="row title ext-title" role="heading" aria-level="1" data-bind="text: str['DSSO_STR_AuthenticatingMessage'], externalCss: { 'title': true }">尝试使你登录</div>
<div class="row progress-container">
<div class="progress" role="progressbar" data-bind="component: 'marching-ants-control', ariaLabel: str['WF_STR_ProgressText']" aria-label="请稍候"><!-- -->
<!-- ko if: svr.fSupportWindowsStyles --><!-- /ko -->
<!-- ko ifnot: svr.fSupportWindowsStyles -->
<!-- ko if: useCssAnimation -->
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<!-- /ko -->
<!-- ko ifnot: useCssAnimation --><!-- /ko -->
<!-- /ko -->
</div>
</div>
<!-- ko if: (sessionPullType & 2) != 0 -->
<a id="desktopSsoCancel" href="#" data-bind="
text: str['CT_HRD_STR_Redirect_Cancel'],
ariaDescribedBy: 'loginHeader',
click: cancelLink_onClick,
hasFocus: true" aria-describedby="loginHeader">取消</a>
<!-- /ko -->
<div data-bind="component: { name: 'fetch-sessions-control',
params: {
serverData: svr,
sessionPullType: sessionPullType,
unsafe_desktopSsoDomainToUse: unsafe_domainName,
username: username,
displayName: displayName },
event: {
updateUserTiles: fetchSessionsProgress_onUpdateUserTiles,
executeGctResult: fetchSessionsProgress_onExecuteGctResult,
handleDssoSuccess: fetchSessionsProgress_onHandleDssoSuccess,
desktopSsoFallbackView: fetchSessionsProgress_onDesktopSsoFallbackView,
incrementAsyncTileRequestCount: fetchSessionsProgress_onIncrementAsyncTileRequestCount,
decrementAsyncTileRequestCount: fetchSessionsProgress_onDecrementAsyncTileRequestCount,
redirect: fetchSessionsProgress_onRedirect } }"><!-- -->
<!-- ko if: (sessionPullType & 1) != 0 && callMsaStaticMeControl() --><!-- /ko -->
<!-- ko if: svr.desktopSsoConfig && !isNonInteractiveAuthRequest -->
<div class="row">
<div data-bind="component: { name: 'footer-buttons-field',
params: {
serverData: svr,
isPrimaryButtonVisible: false,
isSecondaryButtonVisible: false } }">
<div class="col-xs-24 no-padding-left-right button-container button-field-container ext-button-field-container" data-bind="
visible: isPrimaryButtonVisible() || isSecondaryButtonVisible(),
css: { 'no-margin-bottom': removeBottomMargin },
externalCss: { 'button-field-container': true }" style="display: none;">
<!-- ko if: isSecondaryButtonVisible --><!-- /ko -->
<div data-bind="css: { 'inline-block': isPrimaryButtonVisible }, externalCss: { 'button-item': true }" class="button-item ext-button-item">
<!-- type="submit" is needed in-addition to 'type' in primaryButtonAttributes observable to support IE8 -->
<input type="submit" id="idSIButton9" class="win-button button_primary button ext-button primary ext-primary" data-report-event="Signin_Submit" data-report-trigger="click" data-report-value="Submit" data-bind="
attr: primaryButtonAttributes,
css: { 'high-contrast-overrides': svr.fUseHighContrastOverrides },
externalCss: {
'button': true,
'primary': true },
value: primaryButtonText() || str['CT_PWD_STR_SignIn_Button_Next'],
hasFocus: focusOnPrimaryButton,
click: svr.fEnableLivePreview ? function() { } : primaryButton_onClick,
clickBubble: !svr.fEnableLivePreview,
enable: isPrimaryButtonEnabled,
visible: isPrimaryButtonVisible,
preventTabbing: primaryButtonPreventTabbing" value="下一步" data-report-attached="1" style="display: none;">
</div>
</div>
</div>
</div>
<!-- /ko -->
<!-- ko if: (sessionPullType & 2) != 0 && desktopSsoRunning() --><!-- /ko -->
</div>
</div><!-- /ko -->
<!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- /ko -->
</div>
</div>
</div>
<!-- /ko -->
<input type="hidden" name="ps" data-bind="value: postedLoginStateViewId" value="">
<input type="hidden" name="psRNGCDefaultType" data-bind="value: postedLoginStateViewRNGCDefaultType" value="">
<input type="hidden" name="psRNGCEntropy" data-bind="value: postedLoginStateViewRNGCEntropy" value="">
<input type="hidden" name="psRNGCSLK" data-bind="value: postedLoginStateViewRNGCSLK" value="">
<!-- ko if: svr.sCanaryTokenName && !svr.fSkipRenderingNewCanaryToken -->
<input type="hidden" data-bind="attr: { name: svr.sCanaryTokenName }, value: svr.canary" name="canary" value="bvmbrXd3h/vyjT96/sw8t/6EJB4hZgEXXQ7DyZfZRdM=1:1:CANARY:X+ViTFQCnEKEG/UJm5Cj1tgJsrJfJkrfNS/Ln0adVg8=">
<!-- /ko -->
<!-- ko if: !svr.sCanaryTokenName || svr.fSkipRenderingNewCanaryToken --><!-- /ko -->
<input type="hidden" name="ctx" data-bind="value: ctx"
value="rQQIARAA42KwkiouiC8oyk_RT04syUisLEhMzkzLTNYFCRUJcQnwPFuhuPzqJafJGjvUuVx4dq5itM4oKSkottLXL07XLSouzjfUy89Lyk3WS87P1Qfx9YtSk1Mzy1KLsJh4iFE13tw0Mc0o1TRVN9HQ3FLXJCnZSNciNTlF1zLV2CTJMsXUwswi9QIj4wtGxltMrMGJuTlGv5hMS4vyrPITizOLrfISc1OLrUqSrYIdfX2sDPUMwSKZKbpp-UW5iSVWpXnFBakgG1NTZjETZ9smZpU0M6PE5ESLZF2jpEQjXRND8yTdRINkQ93EJOM0QwMjg-TkZJMLLDyvWHgMmK04OLgEGCQYFBh-sDAuYgUG0oTCeQqaHGf9N22xWq9sfJrhFKt-UlluUlFEinGGflllVoilmX5xuUWJvpmrl5NJRlS6a0REoLlLZVRaVFCKr62hleEENt5TbAwf2Bg72BlmsTPs4qQklA_wMvzgmzth_s5v3ye883jFrxOhHZYZ4hbonOfq7equH-qVa-qcZViS7lVc5JXmlV2U5hes75NnkJgSlm5hu0GAAQA1">
<input type="hidden" name="hpgrequestid" data-bind="value: svr.sessionId" value="209e7190-0829-4fcd-b2b4-3aaf2333cb00">
<input type="hidden" id="i0327" data-bind="attr: { name: svr.sFTName }, value: flowToken" name="flowToken"
value="AQABIQEAAADnfolhJpSnRYB1SVj-Hgd84gxWSwmHehpm8qGMCriZxZ6Ch5wxF2wjVC0EJ2HXaT0QF0m1TjUOCnUM8y9ga7rP8iT9jgGRaJKlEAmtoNs_8QToTa1sejkqk-gWqj0fO9RsFe69WKOTJSQbfo9shBZTx9wqm_fMN3pEHI6G_CNPRt-Co10FdOQShPx1lggN5-VrID5L2CxXsBTM4e_p73GeMossOvrAlAX6h8Bol-Oe7NvwFtpoojp4Ttm9rTDJhlc9hDkgFB3CbSPNBvPZuzkfXPkfZduvWl9MGd04tsNaqksQzX_FRGhZPvUUVwjeYAcZVDEIvNbTFg4EmX2Z5UxODKelLOFDmn2FnnTc_uLVMym-s8hZoAOhuzpEJqR0PEtfK54eu8YoPztClbV69Lha1yKXbks0__fjxG7btD6a_wQcu-qT6neF1pvg0f3En9mcpiwGPiDrbhXcX5nJ0_vZu6a86KN16BetS7LdkZmTDxdx1V9rrCc7Aj_fC9l6lyIgAA">
<input type="hidden" name="PPSX" data-bind="value: svr.sRandomBlob" value="">
<input type="hidden" name="NewUser" value="1">
<input type="hidden" name="FoundMSAs" data-bind="value: svr.sFoundMSAs" value="">
<input type="hidden" name="fspost" data-bind="value: svr.fPOST_ForceSignin ? 1 : 0" value="0">
<input type="hidden" name="i21" data-bind="value: wasLearnMoreShown() ? 1 : 0" value="0">
<input type="hidden" name="CookieDisclosure" data-bind="value: svr.fShowCookieBanner ? 1 : 0" value="0">
<input type="hidden" name="IsFidoSupported" data-bind="value: isFidoSupported() ? 1 : 0" value="1">
<input type="hidden" name="isSignupPost" data-bind="value: isSignupPost() ? 1 : 0" value="0">
<!-- ko ifnot: svr.fShouldSupportTargetCredentialForRecovery --><!-- /ko -->
<!-- ko if: svr.fShouldSupportTargetCredentialForRecovery && targetCredentialForRecovery() --><!-- /ko -->
<div data-bind="component: { name: 'instrumentation-control',
publicMethods: instrumentationMethods,
params: { serverData: svr } }">
<input type="hidden" name="i19" data-bind="value: timeOnPage" value="">
</div>
<!-- /ko -->
</div>
<!-- ko if: $page.showFedCredAndNewSession -->
<!-- ko ifnot: svr.fUsePromotedFedCredTypesArray --><!-- /ko -->
<!-- ko if: svr.fUsePromotedFedCredTypesArray -->
<!-- ko if: $page.showFedCredButtons --><!-- /ko -->
<!-- ko if: $page.showSignupFedCredButtons --><!-- /ko -->
<!-- /ko -->
<!-- ko if: svr.fIsQrPinEnabled --><!-- /ko -->
<!-- ko if: $page.newSession --><!-- /ko -->
<!-- /ko -->
<!-- ko if: $page.showDebugDetails --><!-- /ko -->
</div>
</div>
<!-- /ko -->
</div>
</div>
</div>
<!-- ko if: $page.paginationControlHelper.showFooterControl -->
<div id="footer" role="contentinfo" data-bind="
externalCss: {
'footer': true,
'has-background': !$page.useDefaultBackground() && $page.showFooter(),
'background-always-visible': $page.backgroundLogoUrl }" class="footer ext-footer">
<div data-bind="component: { name: 'footer-control',
publicMethods: $page.footerMethods,
params: {
serverData: svr,
useDefaultBackground: $page.useDefaultBackground(),
hasDarkBackground: $page.backgroundLogoUrl(),
showLinks: true,
showFooter: $page.showFooter(),
hideTOU: $page.hideTOU(),
termsText: $page.termsText(),
termsLink: $page.termsLink(),
hidePrivacy: $page.hidePrivacy(),
privacyText: $page.privacyText(),
privacyLink: $page.privacyLink() },
event: {
agreementClick: $page.footer_agreementClick,
showDebugDetails: $page.toggleDebugDetails_onClick } }"><!-- ko if: !hideFooter && (showLinks || impressumLink || showIcpLicense) -->
<div id="footerLinks" class="footerNode text-secondary footer-links ext-footer-links" data-bind="externalCss: { 'footer-links': true }">
<!-- ko if: showFooter -->
<!-- ko if: !hideTOU -->
<a id="ftrTerms" data-bind="
text: termsText,
href: termsLink,
click: termsLink_onClick,
externalCss: {
'footer-content': true,
'footer-item': true,
'has-background': !useDefaultBackground,
'background-always-visible': hasDarkBackground }" href="https://www.microsoft.com/zh-SG/servicesagreement/" class="footer-content ext-footer-content footer-item ext-footer-item">使用条款</a>
<!-- /ko -->
<!-- ko if: !hidePrivacy -->
<a id="ftrPrivacy" data-bind="
text: privacyText,
href: privacyLink,
click: privacyLink_onClick,
externalCss: {
'footer-content': true,
'footer-item': true,
'has-background': !useDefaultBackground,
'background-always-visible': hasDarkBackground }" href="https://privacy.microsoft.com/zh-SG/privacystatement" class="footer-content ext-footer-content footer-item ext-footer-item">隐私与 Cookie</a>
<!-- /ko -->
<!-- ko if: impressumLink --><!-- /ko -->
<!-- ko if: a11yConformeLink --><!-- /ko -->
<!-- ko if: showIcpLicense --><!-- /ko -->
<!-- /ko -->
<!-- Set attr binding before hasFocusEx to prevent Narrator from losing focus -->
<a id="moreOptions" href="#" role="button" data-bind="
click: moreInfo_onClick,
ariaLabel: str['CT_STR_More_Options_Ellipsis_AriaLabel'],
attr: { 'aria-expanded': showDebugDetails().toString() },
hasFocusEx: focusMoreInfo(),
externalCss: {
'footer-content': true,
'footer-item': true,
'debug-item': true,
'has-background': !useDefaultBackground,
'background-always-visible': hasDarkBackground }" aria-label="单击此处获取疑难解答信息" aria-expanded="false" class="footer-content ext-footer-content footer-item ext-footer-item debug-item ext-debug-item">...</a>
</div>
<!-- /ko -->
<!-- ko if: svr.fShowLegalMessagingInline && showLinks --><!-- /ko -->
</div>
</div>
<!-- /ko -->
</div>
<!-- /ko -->
</div>
<!-- /ko -->
<!-- ko if: isVerticalSplitTemplate() && isTemplateLoaded() --><!-- /ko -->
<!-- /ko -->
<!-- /ko -->
</div>
<!-- /ko -->
</form>
POST
<form data-bind="postRedirectForm: postRedirect" method="POST" aria-hidden="true" target="_top"></form>
Text Content
尝试使你登录 取消 使用条款 隐私与 Cookie ...