我有一个小问题。
我有两个站点,都是通过ssl进行的,但是在其他域上。
现在,我正在使用来自第二个站点的表单在第一个站点上加载iframe。
但是,问题是,我将iframe的height属性设置为0,并尝试读取iframe中内容的高度,并为iframe设置了相同的高度。
这是js代码:
var APPObj = {
$holder: '',
$key: '',
render: function () {
this.$holder.html(this.$frame.load(function () {
var $bdh = $(this).contents().find('#form1').height();
APPObj.$frame.height($bdh);
}));
}
};
~(() => {
if (!window.jQuery) {
var script = document.createElement('script');
script.onload = () => proceed();
script.src = "https://my.site/assets/lib/jquery/jquery.js";
document.head.appendChild(script);
} else {
proceed();
}
})();
function proceed() {
APPObj.$holder = $('#sozbod-zgloszenie').removeAttr('id');
APPObj.$key = APPObj.$holder.attr('data-companykey');
APPObj.$holder.removeAttr('data-companykey');
APPObj.$frame = $('<iframe src="https://my.site/form.aspx?token=' +
APPObj.$key + '" width="100%" height="0" frameborder=""></iframe>');
APPObj.render();
}
出现错误
var $bdh = $(this).contents().find('#form1').height();
错误:
DOMException: Blocked a frame with origin "https://example.net" from accessing a cross-origin frame.
还有其他方法可以获取iframe中内容的高度吗?
我这样做是因为我不想在iframe上使用滚动条,并且内容的高度取决于宽度(在表单上使用引导程序)。
总之,我需要了解iframe内容的高度。 iframe确实被加载,但是起始高度等于0。
对不起,我的英语,我希望你能理解;)