本参考页面描述了中间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。