【问题标题】:Thank you message not visible when submitting iframe form with long content, need to scroll up parent to see it提交内容较长的 iframe 表单时,感谢消息不可见,需要向上滚动父级才能看到
【发布时间】:2019-03-23 15:44:58
【问题描述】:

我在this demo page(跨域)上放置一个表单(我托管)。 我可以在父母和孩子上添加代码。

iframe 自动调整大小非常有效(使用 iframe-resizer),但是当在具有窄窗口(滚动条较长)的移动设备或桌面上提交表单时,感谢消息不会立即显示。您需要向上滚动父页面才能看到它,这可能会引起人们的困惑。

iframe 完美地缩小到合适的大小,但不知何故需要做一个自定义 postMessage 来告诉父级滚动/跳转他们的页面到嵌入 iframe 的顶部。

关于如何使用已经存在的 iframe-resizer 脚本的任何想法,或者我可以在没有它的情况下执行 postMessage,如果可以,如何?

提前谢谢你!

【问题讨论】:

    标签: javascript html iframe iframe-resizer


    【解决方案1】:

    你试过了吗

    document.getElementById('thankyou').scrollIntoView()

    【讨论】:

    • 嗨,Andrii,不,会尝试的。问题是我不知道如何将自定义 postMessage 发送给父母说“form_submitted”。我使用 iframe-resizer 脚本,但我怎样才能向父级发送一个简单的 postmessage?我的意思是,iframe-resize 脚本已经添加了消息侦听器,所以我必须在 iFrameListener(event) 函数内部进行检查,如果消息是“form_submitted”,则执行 scrollIntoView。我知道我必须在哪里做 postMessage,只是不知道如何(轻松)用“form_submitted”这样的简单消息发送它。
    • 我知道语法类似于“target.postMessage(message, targetOrigin)”,但不知道如何正确设置 target 和 targetOrigin。我不知道父域(我当然在演示中知道,但它可以放在任何地方)。此外,它必须与 iframe-resize 脚本很好地配合使用。
    • 除非父级有接收消息的代码,否则 postMessage 将不起作用。
    • 你可以保持 iframe 的高度不变。所以在提交表单后,iframe 不必调整大小。
    • 嗨 Andrii,我想我在 iframeResizer.contentWindow.js) 文件中找到了答案。
    猜你喜欢
    • 2015-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多