警告:此数据是根据Google用户数据政策提供的。请查看并遵守政策。否则可能会导致项目或帐户被暂停。

中间Iframe支持JavaScript API

本参考页面描述了中间iframe支持JavaScript API,该API可让您在后续的UX中操作中间iframe。

下表列出了所有可用的方法及其行为。

方法
verifyParentOrigin执行父母原产地验证
notifyParentClose通知父帧One Tap UX流被跳过
notifyParentDone通知父帧“一键式UX”流程已完成
notifyParentResize通知父框架以调整中间iframe的大小
notifyParentTapOutsideMode当用户在中间iframe之外单击时,通知父框架是否取消中间iframe

加载中间Iframe支持JavaScript库

将以下代码段放入要加载中间iframe的所有HTML页面中:

<script src="https://accounts.google.com/gsi/intermediatesupport"></script>

方法:google.accounts.id.intermediate.verifyParentOrigin

google.accounts.id.intermediate.verifyParentOrigin方法执行父原点验证。请参见以下方法的代码示例:

google.accounts.id.intermediate.verifyParentOrigin(
    origins, verifiedCallback, verificationFailedCallback)

下面的代码示例显示如何仅在验证父源之后才显示UI:

<script>
  window.onload = () => {
    google.accounts.id.intermediate.verifyParentOrigin(
        "https://example.com", showUI, showError);
  };
</script>

下表列出了参数:

范围
origins允许嵌入中间iframe的原点。
verifiedCallback当允许当前父源嵌入中间iframe时将触发的JavaScript回调方法。
verificationFailedCallback当不允许当前父源嵌入中间iframe时将触发的JavaScript回调方法。

起源

允许嵌入中间iframe的原点。有关更多信息,请参见下表:

类型必需的例子
字符串,字符串数组或函数可选的allowed_parent_origin: "https://example.com"

下表列出了支持的值类型及其说明。

值类型
string单个域URI。 “ https://example.com”
string array域URI的数组。 “ https://news.example.com、https://local.example.com”

已验证的回调

此字段是JavaScript回调方法,当允许当前父源嵌入中间iframe时将触发此方法。

VerificationFailedCallback

此字段是JavaScript回调方法,当不允许当前父源嵌入中间iframe时,将触发此方法。

方法:google.accounts.id.intermediate.notifyParentClose

跳过“一键式UX”流时, google.accounts.id.intermediate.notifyParentClose方法会通知父框架关闭中间iframe。请参见以下方法的代码示例:

google.accounts.id.intermediate.notifyParentClose()

方法:google.accounts.id.intermediate.notifyParentDone

google.accounts.id.intermediate.notifyParentClose方法通知父框架关闭中间iframe,并刷新登录状态。请参见以下方法的代码示例:

google.accounts.id.intermediate.notifyParentDone()

方法:google.accounts.id.intermediate.notifyParentResize

google.accounts.id.intermediate.notifyParentResize方法通知父框架以调整中间iframe的大小。请参见以下方法的代码示例:

google.accounts.id.intermediate.notifyParentResize(height)

高度

以像素为单位的新高度。这是一个必填字段。该值必须是非负数。

如果height参数大于0,则将中间iframe设置为新的高度。如果height参数为0,则中间iframe不可见。隐藏的iframe未关闭。稍后可以通过另一个调整大小的方法调用来显示它。

方法:google.accounts.id.intermediate.notifyParentTapOutsideMode

当用户在中间iframe外部单击时, google.accounts.id.intermediate.notifyParentTapOutsideMode方法会通知父框架是否取消中间iframe。请参见以下方法的代码示例:

google.accounts.id.intermediate.notifyParentTapOutsideMode(cancel)

取消

此必需的布尔值指示当用户在中间iframe外部单击时是否取消中间iframe。