Fotorama如何嵌入iframe?

时间:2018-06-23 01:45:59

标签: fotorama

需要将iframe添加到fotorama画廊中。

标签图像可以固定。 Src应该是要传入的参数。

请注意,这是在Magento 2.0上

1 个答案:

答案 0 :(得分:0)

首先访问dom元素和api对象。

// Get the Dom Element.
var $fotorama = jQuery('div.gallery-placeholder > div.fotorama');

// Get the API object.
var fotorama = $fotorama.data('fotorama');

收听fotorama:load事件,然后将其内容替换为iframe。

// On load handler for fotorama.
$fotorama.on('fotorama:load', function fotorama_onLoad(e, fotorama, extra) {
    if (extra.frame.type === 'iframe') {
        // Replace the contents with the iframe.
        extra.frame.$stageFrame.html('<iframe type="text/html" width="100%" height="100%" src="' + extra.frame.src + '" frameborder="0" scrolling="no" allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen></iframe>');
    }
});

接下来,您可以像这样为iframe推送新数据。

fotorama.push({ img: 'iframe.png', thumb: 'iframe.png', 'src': 'http://someurlforiframe', type: 'iframe' });

注意:您要准备加载iframe.png或其他缩略图大小的图像。

我用的是80x80的。

我能够使用自定义模块中的模板中的这段代码,将3dvieweronline成功嵌入到图库中,并具有全屏功能。