Fotorama 如何嵌入 iframe?

Fotorama how to embed an iframe?

需要将 iframe 添加到 fotorama 图库中。

标签图片可以修复。 src应该是传入的参数。

注意这是在 Magento 2.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 嵌入到图库中,并具有全屏功能。