我有营销部门要求集成typeform到一个静态页面,他们可以快速构建的东西,然后嵌入到页面,我使用aot,将是一个动态注入从内容管理系统,所以意味着需要一种方式来支持任何类型的小部件,小部件有脚本,看起来像:
<div class="typeform-widget" data-url="https://xxxxxxx.typeform.com/to/CCiqgs" style="width: 100%; height: 500px;"> </div>
<script>
(function () {
var qs, js, q, s, d = document,
gi = d.getElementById,
ce = d.createElement,
gt = d.getElementsByTagName,
id = "typef_orm",
b = "https://embed.typeform.com/";
if (!gi.call(d, id)) {
js = ce.call(d, "script");
js.id = id;
js.src = b + "embed.js";
q = gt.call(d, "script")[0];
q.parentNode.insertBefore(js, q)
}
})()
</script>
<div style="font-family: Sans-Serif;font-size: 12px;color: #999;opacity: 0.5; padding-top: 5px;"> powered by
<a href="https://www.typeform.com//?utm_campaign=CCiqgs&utm_source=typeform.com-11265281-Basic&utm_medium=typeform&utm_content=typeform-embedded-poweredbytypeform&utm_term=EN" style="color: #999" target="_blank">Typeform</a>
</div>这意味着我们要找到一种方法来支持这一点,而不需要在每次嵌入新的小部件或更改一个简单小部件的ts时都发布或构建应用程序,事实上,我们应该支持任何类型的小部件。
有什么想法吗?我将非常感谢你的帮助。Thx
发布于 2018-10-17 19:20:36
您可以使用Typeform Embed SDK
通过npm在您的Angular项目中安装:
npm install --save @typeform/embed然后,您可以将TypeformEmbed导入到启动表单的组件中:
import * as typeformEmbed from '@typeform/embed'如果您需要在加载页面时弹出,请在AfterViewInit回调中调用SDK:
ngAfterViewInit(): void {
typeformEmbed.makePopup('<your typeform url here>', {mode: 'popup', autoOpen: true})
}发布于 2017-11-30 15:18:44
您可以将该解决方案与iframe一起使用,这是在他们的网站上的自定义嵌入部分here下建议的。
#my_typeform {
display: inline-block;
width: 800px;
height: 600px;
margin: 60px;
}<iframe id=”my_typeform” src=”https://yourname.typeform.com/to/abc123″></iframe>
但我相信您也可以使用on this blog详细介绍的sanitization来实现。
希望对你有帮助,祝你有愉快的一天。:)
https://stackoverflow.com/questions/47326219
复制相似问题